From d47e364f557dafab24ef458d3f8ec96430e60e85 Mon Sep 17 00:00:00 2001 From: robertl Date: Mon, 29 Aug 2005 00:34:07 +0000 Subject: [PATCH] Bring in Olaf's CET character set transformation work. --- gpsbabel/Makefile | 45 +- gpsbabel/README | 12 + gpsbabel/an1.c | 3 +- gpsbabel/bcr.c | 19 +- gpsbabel/brauniger_iq.c | 3 +- gpsbabel/cet.c | 360 ++++++ gpsbabel/cet.h | 71 ++ gpsbabel/cet/ansi_x3_4_1968.h | 144 +++ gpsbabel/cet/atarist.h | 256 ++++ gpsbabel/cet/baltic.h | 178 +++ gpsbabel/cet/bs_4730.h | 127 ++ gpsbabel/cet/bs_viewdata.h | 134 ++ gpsbabel/cet/cp1250.h | 203 ++++ gpsbabel/cet/cp1251.h | 241 ++++ gpsbabel/cet/cp1252.h | 156 +++ gpsbabel/cet/cp1253.h | 219 ++++ gpsbabel/cet/cp1254.h | 163 +++ gpsbabel/cet/cp1255.h | 180 +++ gpsbabel/cet/cp1256.h | 210 ++++ gpsbabel/cet/cp1257.h | 198 +++ gpsbabel/cet/csa_z243_4_1985_1.h | 131 ++ gpsbabel/cet/csa_z243_4_1985_2.h | 131 ++ gpsbabel/cet/csa_z243_4_1985_gr.h | 206 ++++ gpsbabel/cet/csn_369103.h | 200 +++ gpsbabel/cet/cwi.h | 256 ++++ gpsbabel/cet/dec_mcs.h | 129 ++ gpsbabel/cet/din_66003.h | 129 ++ gpsbabel/cet/ds_2089.h | 124 ++ gpsbabel/cet/ecma_cyrillic.h | 219 ++++ gpsbabel/cet/es.h | 132 ++ gpsbabel/cet/es2.h | 129 ++ gpsbabel/cet/gb_1988_80.h | 127 ++ gpsbabel/cet/gost_19768_87.h | 189 +++ gpsbabel/cet/hp_roman8.h | 219 ++++ gpsbabel/cet/ibm037.h | 381 ++++++ gpsbabel/cet/ibm1004.h | 152 +++ gpsbabel/cet/ibm1026.h | 380 ++++++ gpsbabel/cet/ibm1047.h | 380 ++++++ gpsbabel/cet/ibm256.h | 381 ++++++ gpsbabel/cet/ibm273.h | 380 ++++++ gpsbabel/cet/ibm277.h | 380 ++++++ gpsbabel/cet/ibm278.h | 381 ++++++ gpsbabel/cet/ibm280.h | 381 ++++++ gpsbabel/cet/ibm284.h | 381 ++++++ gpsbabel/cet/ibm285.h | 381 ++++++ gpsbabel/cet/ibm297.h | 381 ++++++ gpsbabel/cet/ibm437.h | 256 ++++ gpsbabel/cet/ibm500.h | 381 ++++++ gpsbabel/cet/ibm850.h | 257 ++++ gpsbabel/cet/ibm851.h | 255 ++++ gpsbabel/cet/ibm852.h | 257 ++++ gpsbabel/cet/ibm855.h | 255 ++++ gpsbabel/cet/ibm857.h | 252 ++++ gpsbabel/cet/ibm860.h | 256 ++++ gpsbabel/cet/ibm861.h | 256 ++++ gpsbabel/cet/ibm862.h | 255 ++++ gpsbabel/cet/ibm863.h | 256 ++++ gpsbabel/cet/ibm864.h | 249 ++++ gpsbabel/cet/ibm865.h | 256 ++++ gpsbabel/cet/ibm868.h | 232 ++++ gpsbabel/cet/ibm869.h | 248 ++++ gpsbabel/cet/ibm871.h | 381 ++++++ gpsbabel/cet/ibm891.h | 112 ++ gpsbabel/cet/ibm903.h | 112 ++ gpsbabel/cet/ibm904.h | 131 ++ gpsbabel/cet/iec_p27_1.h | 220 ++++ gpsbabel/cet/iso_10367_box.h | 149 +++ gpsbabel/cet/iso_5427.h | 188 +++ gpsbabel/cet/iso_646_irv.h | 127 ++ gpsbabel/cet/iso_6937_2_25.h | 166 +++ gpsbabel/cet/iso_8859_1.h | 115 ++ gpsbabel/cet/iso_8859_10.h | 172 +++ gpsbabel/cet/iso_8859_13.h | 175 +++ gpsbabel/cet/iso_8859_14.h | 157 +++ gpsbabel/cet/iso_8859_15.h | 133 ++ gpsbabel/cet/iso_8859_2.h | 183 +++ gpsbabel/cet/iso_8859_3.h | 154 +++ gpsbabel/cet/iso_8859_4.h | 176 +++ gpsbabel/cet/iso_8859_5.h | 219 ++++ gpsbabel/cet/iso_8859_6.h | 173 +++ gpsbabel/cet/iso_8859_7.h | 199 +++ gpsbabel/cet/iso_8859_8.h | 156 +++ gpsbabel/cet/iso_8859_9.h | 129 ++ gpsbabel/cet/iso_8859_supp.h | 212 ++++ gpsbabel/cet/it.h | 134 ++ gpsbabel/cet/jis_c6220_1969_ro.h | 120 ++ gpsbabel/cet/jis_x0201.h | 195 +++ gpsbabel/cet/jus_i_b1_002.h | 131 ++ gpsbabel/cet/jus_i_b1_003_mac.h | 182 +++ gpsbabel/cet/jus_i_b1_003_serb.h | 182 +++ gpsbabel/cet/keybcs2.h | 256 ++++ gpsbabel/cet/koi8_r.h | 256 ++++ gpsbabel/cet/koi8_ru.h | 256 ++++ gpsbabel/cet/koi8_u.h | 238 ++++ gpsbabel/cet/koi_7.h | 156 +++ gpsbabel/cet/koi_8.h | 191 +++ gpsbabel/cet/koi_8_cs2.h | 222 ++++ gpsbabel/cet/ksc5636.h | 118 ++ gpsbabel/cet/latin_greek_1.h | 136 +++ gpsbabel/cet/mac_is.h | 248 ++++ gpsbabel/cet/macintosh.h | 250 ++++ gpsbabel/cet/macintosh_ce.h | 254 ++++ gpsbabel/cet/msz_7795_3.h | 135 +++ gpsbabel/cet/nats_dano.h | 136 +++ gpsbabel/cet/nats_sefi.h | 130 ++ gpsbabel/cet/nc_nc00_10.h | 133 ++ gpsbabel/cet/nextstep.h | 240 ++++ gpsbabel/cet/nf_z_62_010.h | 135 +++ gpsbabel/cet/nf_z_62_010__1973_.h | 133 ++ gpsbabel/cet/ns_4551_1.h | 125 ++ gpsbabel/cet/ns_4551_2.h | 133 ++ gpsbabel/cet/pt.h | 128 ++ gpsbabel/cet/pt2.h | 127 ++ gpsbabel/cet/sami.h | 157 +++ gpsbabel/cet/sen_850200_b.h | 133 ++ gpsbabel/cet/sen_850200_c.h | 136 +++ gpsbabel/cet/tcvn.h | 278 +++++ gpsbabel/cet/viscii.h | 247 ++++ gpsbabel/cet/vps.h | 255 ++++ gpsbabel/cet_util.c | 1074 +++++++++++++++++ gpsbabel/cet_util.h | 106 ++ gpsbabel/cetus.c | 11 +- gpsbabel/coastexp.c | 3 + gpsbabel/copilot.c | 4 +- gpsbabel/csv_util.c | 2 +- gpsbabel/defs.h | 27 +- gpsbabel/delgpl.c | 4 +- gpsbabel/easygps.c | 3 +- gpsbabel/garmin.c | 3 +- gpsbabel/gcdb.c | 4 +- gpsbabel/gdb.c | 3 +- gpsbabel/geo.c | 3 +- gpsbabel/geoniche.c | 3 +- gpsbabel/glogbook.c | 4 +- gpsbabel/google.c | 3 +- gpsbabel/gpilots.c | 3 +- gpsbabel/gpspilot.c | 3 +- gpsbabel/gpsutil.c | 6 +- gpsbabel/gpx.c | 6 +- gpsbabel/hiketech.c | 3 +- gpsbabel/holux.c | 4 +- gpsbabel/hsa_ndv.c | 5 +- gpsbabel/html.c | 3 +- gpsbabel/igc.c | 3 +- gpsbabel/kml.c | 3 +- gpsbabel/lowranceusr.c | 3 +- gpsbabel/maggeo.c | 5 +- gpsbabel/magnav.c | 4 +- gpsbabel/magproto.c | 10 +- gpsbabel/main.c | 66 +- gpsbabel/mapsend.c | 10 +- gpsbabel/mapsource.c | 5 +- gpsbabel/navicache.c | 3 + gpsbabel/netstumbler.c | 3 +- gpsbabel/nmea.c | 3 +- gpsbabel/overlay.c | 3 +- gpsbabel/ozi.c | 3 +- gpsbabel/palmdoc.c | 3 +- gpsbabel/pathaway.c | 3 +- gpsbabel/pcx.c | 3 +- gpsbabel/psitrex.c | 3 +- gpsbabel/psp.c | 11 +- gpsbabel/quovadis.c | 3 +- gpsbabel/reference/cet/cet-sample.cp1250.txt | 17 + gpsbabel/reference/cet/cet-sample.gdb | Bin 0 -> 1919 bytes gpsbabel/reference/cet/cet-sample.gpx | 122 ++ gpsbabel/reference/cet/cet-sample.latin1.txt | 17 + gpsbabel/reference/cet/cet-sample.latin2.txt | 17 + .../reference/cet/cet-sample.macroman.txt | 17 + gpsbabel/reference/route/tef_xml.sample.gpx | 338 +++--- gpsbabel/route.c | 145 +++ gpsbabel/saroute.c | 3 +- gpsbabel/shape.c | 3 +- gpsbabel/tef_xml.c | 3 +- gpsbabel/testo | 52 +- gpsbabel/text.c | 4 +- gpsbabel/tiger.c | 12 +- gpsbabel/tmpro.c | 4 +- gpsbabel/tomtom.c | 1 + gpsbabel/tpg.c | 4 +- gpsbabel/util.c | 253 +--- gpsbabel/vcf.c | 3 +- gpsbabel/vitosmt.c | 3 +- gpsbabel/waypt.c | 40 +- gpsbabel/xcsv.c | 3 +- gpsbabel/xmlgeneric.c | 11 +- 186 files changed, 25718 insertions(+), 522 deletions(-) create mode 100644 gpsbabel/cet.c create mode 100644 gpsbabel/cet.h create mode 100644 gpsbabel/cet/ansi_x3_4_1968.h create mode 100644 gpsbabel/cet/atarist.h create mode 100644 gpsbabel/cet/baltic.h create mode 100644 gpsbabel/cet/bs_4730.h create mode 100644 gpsbabel/cet/bs_viewdata.h create mode 100644 gpsbabel/cet/cp1250.h create mode 100644 gpsbabel/cet/cp1251.h create mode 100644 gpsbabel/cet/cp1252.h create mode 100644 gpsbabel/cet/cp1253.h create mode 100644 gpsbabel/cet/cp1254.h create mode 100644 gpsbabel/cet/cp1255.h create mode 100644 gpsbabel/cet/cp1256.h create mode 100644 gpsbabel/cet/cp1257.h create mode 100644 gpsbabel/cet/csa_z243_4_1985_1.h create mode 100644 gpsbabel/cet/csa_z243_4_1985_2.h create mode 100644 gpsbabel/cet/csa_z243_4_1985_gr.h create mode 100644 gpsbabel/cet/csn_369103.h create mode 100644 gpsbabel/cet/cwi.h create mode 100644 gpsbabel/cet/dec_mcs.h create mode 100644 gpsbabel/cet/din_66003.h create mode 100644 gpsbabel/cet/ds_2089.h create mode 100644 gpsbabel/cet/ecma_cyrillic.h create mode 100644 gpsbabel/cet/es.h create mode 100644 gpsbabel/cet/es2.h create mode 100644 gpsbabel/cet/gb_1988_80.h create mode 100644 gpsbabel/cet/gost_19768_87.h create mode 100644 gpsbabel/cet/hp_roman8.h create mode 100644 gpsbabel/cet/ibm037.h create mode 100644 gpsbabel/cet/ibm1004.h create mode 100644 gpsbabel/cet/ibm1026.h create mode 100644 gpsbabel/cet/ibm1047.h create mode 100644 gpsbabel/cet/ibm256.h create mode 100644 gpsbabel/cet/ibm273.h create mode 100644 gpsbabel/cet/ibm277.h create mode 100644 gpsbabel/cet/ibm278.h create mode 100644 gpsbabel/cet/ibm280.h create mode 100644 gpsbabel/cet/ibm284.h create mode 100644 gpsbabel/cet/ibm285.h create mode 100644 gpsbabel/cet/ibm297.h create mode 100644 gpsbabel/cet/ibm437.h create mode 100644 gpsbabel/cet/ibm500.h create mode 100644 gpsbabel/cet/ibm850.h create mode 100644 gpsbabel/cet/ibm851.h create mode 100644 gpsbabel/cet/ibm852.h create mode 100644 gpsbabel/cet/ibm855.h create mode 100644 gpsbabel/cet/ibm857.h create mode 100644 gpsbabel/cet/ibm860.h create mode 100644 gpsbabel/cet/ibm861.h create mode 100644 gpsbabel/cet/ibm862.h create mode 100644 gpsbabel/cet/ibm863.h create mode 100644 gpsbabel/cet/ibm864.h create mode 100644 gpsbabel/cet/ibm865.h create mode 100644 gpsbabel/cet/ibm868.h create mode 100644 gpsbabel/cet/ibm869.h create mode 100644 gpsbabel/cet/ibm871.h create mode 100644 gpsbabel/cet/ibm891.h create mode 100644 gpsbabel/cet/ibm903.h create mode 100644 gpsbabel/cet/ibm904.h create mode 100644 gpsbabel/cet/iec_p27_1.h create mode 100644 gpsbabel/cet/iso_10367_box.h create mode 100644 gpsbabel/cet/iso_5427.h create mode 100644 gpsbabel/cet/iso_646_irv.h create mode 100644 gpsbabel/cet/iso_6937_2_25.h create mode 100644 gpsbabel/cet/iso_8859_1.h create mode 100644 gpsbabel/cet/iso_8859_10.h create mode 100644 gpsbabel/cet/iso_8859_13.h create mode 100644 gpsbabel/cet/iso_8859_14.h create mode 100644 gpsbabel/cet/iso_8859_15.h create mode 100644 gpsbabel/cet/iso_8859_2.h create mode 100644 gpsbabel/cet/iso_8859_3.h create mode 100644 gpsbabel/cet/iso_8859_4.h create mode 100644 gpsbabel/cet/iso_8859_5.h create mode 100644 gpsbabel/cet/iso_8859_6.h create mode 100644 gpsbabel/cet/iso_8859_7.h create mode 100644 gpsbabel/cet/iso_8859_8.h create mode 100644 gpsbabel/cet/iso_8859_9.h create mode 100644 gpsbabel/cet/iso_8859_supp.h create mode 100644 gpsbabel/cet/it.h create mode 100644 gpsbabel/cet/jis_c6220_1969_ro.h create mode 100644 gpsbabel/cet/jis_x0201.h create mode 100644 gpsbabel/cet/jus_i_b1_002.h create mode 100644 gpsbabel/cet/jus_i_b1_003_mac.h create mode 100644 gpsbabel/cet/jus_i_b1_003_serb.h create mode 100644 gpsbabel/cet/keybcs2.h create mode 100644 gpsbabel/cet/koi8_r.h create mode 100644 gpsbabel/cet/koi8_ru.h create mode 100644 gpsbabel/cet/koi8_u.h create mode 100644 gpsbabel/cet/koi_7.h create mode 100644 gpsbabel/cet/koi_8.h create mode 100644 gpsbabel/cet/koi_8_cs2.h create mode 100644 gpsbabel/cet/ksc5636.h create mode 100644 gpsbabel/cet/latin_greek_1.h create mode 100644 gpsbabel/cet/mac_is.h create mode 100644 gpsbabel/cet/macintosh.h create mode 100644 gpsbabel/cet/macintosh_ce.h create mode 100644 gpsbabel/cet/msz_7795_3.h create mode 100644 gpsbabel/cet/nats_dano.h create mode 100644 gpsbabel/cet/nats_sefi.h create mode 100644 gpsbabel/cet/nc_nc00_10.h create mode 100644 gpsbabel/cet/nextstep.h create mode 100644 gpsbabel/cet/nf_z_62_010.h create mode 100644 gpsbabel/cet/nf_z_62_010__1973_.h create mode 100644 gpsbabel/cet/ns_4551_1.h create mode 100644 gpsbabel/cet/ns_4551_2.h create mode 100644 gpsbabel/cet/pt.h create mode 100644 gpsbabel/cet/pt2.h create mode 100644 gpsbabel/cet/sami.h create mode 100644 gpsbabel/cet/sen_850200_b.h create mode 100644 gpsbabel/cet/sen_850200_c.h create mode 100644 gpsbabel/cet/tcvn.h create mode 100644 gpsbabel/cet/viscii.h create mode 100644 gpsbabel/cet/vps.h create mode 100644 gpsbabel/cet_util.c create mode 100644 gpsbabel/cet_util.h create mode 100644 gpsbabel/reference/cet/cet-sample.cp1250.txt create mode 100644 gpsbabel/reference/cet/cet-sample.gdb create mode 100644 gpsbabel/reference/cet/cet-sample.gpx create mode 100644 gpsbabel/reference/cet/cet-sample.latin1.txt create mode 100644 gpsbabel/reference/cet/cet-sample.latin2.txt create mode 100644 gpsbabel/reference/cet/cet-sample.macroman.txt diff --git a/gpsbabel/Makefile b/gpsbabel/Makefile index c181d7ec2..f3fac011f 100644 --- a/gpsbabel/Makefile +++ b/gpsbabel/Makefile @@ -58,7 +58,7 @@ SHAPE=shapelib/shpopen.o shapelib/dbfopen.o LIBOBJS = queue.o route.o waypt.o filter_vecs.o util.o vecs.o mkshort.o \ csv_util.o strptime.o grtcirc.o vmem.o util_crc.o xmlgeneric.o \ - uuid.o formspec.o xmltag.o \ + uuid.o formspec.o xmltag.o cet.o cet_util.o \ $(COLDSYNC) $(GARMIN) $(JEEPS) $(SHAPE) $(FMTS) $(FILTERS) OBJS = main.o $(LIBOBJS) @@ -153,7 +153,7 @@ brauniger_iq.o: brauniger_iq.c defs.h queue.h gbtypes.h jeeps/gpsserial.h \ jeeps/gpsnmea.h jeeps/gpsmem.h jeeps/gpsrqst.h jeeps/gpsinput.h \ jeeps/gpsproj.h jeeps/gpsnmeafmt.h jeeps/gpsnmeaget.h cetus.o: cetus.c defs.h queue.h gbtypes.h coldsync/palm.h coldsync/pdb.h -coastexp.o: coastexp.c defs.h queue.h gbtypes.h xmlgeneric.h uuid.h +coastexp.o: coastexp.c defs.h queue.h gbtypes.h xmlgeneric.h uuid.h cet_util.h copilot.o: copilot.c defs.h queue.h gbtypes.h coldsync/palm.h \ coldsync/pdb.h coto.o: coto.c defs.h queue.h gbtypes.h csv_util.h coldsync/palm.h \ @@ -190,11 +190,11 @@ gpilots.o: gpilots.c defs.h queue.h gbtypes.h coldsync/palm.h \ gpspilot.o: gpspilot.c defs.h queue.h gbtypes.h coldsync/palm.h \ coldsync/pdb.h gpsutil.o: gpsutil.c defs.h queue.h gbtypes.h magellan.h -gpx.o: gpx.c defs.h queue.h gbtypes.h xmlgeneric.h +gpx.o: gpx.c defs.h queue.h gbtypes.h xmlgeneric.h cet_util.h grtcirc.o: grtcirc.c defs.h queue.h gbtypes.h hiketech.o: hiketech.c defs.h queue.h gbtypes.h xmlgeneric.h holux.o: holux.c defs.h queue.h gbtypes.h holux.h -hsa_ndv.o: hsa_ndv.c defs.h queue.h gbtypes.h +hsa_ndv.o: hsa_ndv.c defs.h queue.h gbtypes.h cet_util.h html.o: html.c defs.h queue.h gbtypes.h jeeps/gpsmath.h jeeps/gps.h \ jeeps/../defs.h jeeps/gpsport.h jeeps/gpsserial.h jeeps/gpssend.h \ jeeps/gpsread.h jeeps/gpsutil.h jeeps/gpsapp.h jeeps/gpsprot.h \ @@ -213,7 +213,7 @@ main.o: main.c defs.h queue.h gbtypes.h mapsend.o: mapsend.c defs.h queue.h gbtypes.h mapsend.h magellan.h mapsource.o: mapsource.c defs.h queue.h gbtypes.h garmin_tables.h mkshort.o: mkshort.c defs.h queue.h gbtypes.h -navicache.o: navicache.c defs.h queue.h gbtypes.h +navicache.o: navicache.c defs.h queue.h gbtypes.h cet_util.h netstumbler.o: netstumbler.c defs.h queue.h gbtypes.h csv_util.h nmea.o: nmea.c defs.h queue.h gbtypes.h overlay.o: overlay.c defs.h queue.h gbtypes.h grtcirc.h @@ -230,7 +230,7 @@ pcx.o: pcx.c defs.h queue.h gbtypes.h garmin_tables.h polygon.o: polygon.c defs.h queue.h gbtypes.h position.o: position.c defs.h queue.h gbtypes.h grtcirc.h psitrex.o: psitrex.c defs.h queue.h gbtypes.h garmin_tables.h -psp.o: psp.c defs.h queue.h gbtypes.h +psp.o: psp.c defs.h queue.h gbtypes.h cet_util.h queue.o: queue.c queue.h quovadis.o: quovadis.c quovadis.h defs.h queue.h gbtypes.h \ coldsync/palm.h coldsync/pdb.h @@ -273,8 +273,37 @@ vitosmt.o: vitosmt.c defs.h queue.h gbtypes.h vmem.o: vmem.c defs.h queue.h gbtypes.h waypt.o: waypt.c defs.h queue.h gbtypes.h xcsv.o: xcsv.c defs.h queue.h gbtypes.h csv_util.h -xmlgeneric.o: xmlgeneric.c defs.h queue.h gbtypes.h xmlgeneric.h -xmltag.o: xmltag.c defs.h queue.h gbtypes.h +xmlgeneric.o: xmlgeneric.c defs.h queue.h gbtypes.h cet_util.h xmlgeneric.h +cet.o: cet.h cet.c defs.h +cet_util.o: cet_util.h cet_util.c cet.h defs.h \ + cet/ansi_x3_4_1968.h cet/atarist.h cet/baltic.h cet/bs_4730.h \ + cet/bs_viewdata.h cet/cp1250.h cet/cp1251.h cet/cp1252.h \ + cet/cp1253.h cet/cp1254.h cet/cp1255.h cet/cp1256.h \ + cet/cp1257.h cet/csa_z243_4_1985_1.h cet/csa_z243_4_1985_2.h cet/csa_z243_4_1985_gr.h \ + cet/csn_369103.h cet/cwi.h cet/dec_mcs.h cet/din_66003.h \ + cet/ds_2089.h cet/ecma_cyrillic.h cet/es.h cet/es2.h \ + cet/gb_1988_80.h cet/gost_19768_87.h cet/hp_roman8.h cet/ibm037.h \ + cet/ibm1004.h cet/ibm1026.h cet/ibm1047.h cet/ibm256.h \ + cet/ibm273.h cet/ibm277.h cet/ibm278.h cet/ibm280.h \ + cet/ibm284.h cet/ibm285.h cet/ibm297.h cet/ibm437.h \ + cet/ibm500.h cet/ibm850.h cet/ibm851.h cet/ibm852.h \ + cet/ibm855.h cet/ibm857.h cet/ibm860.h cet/ibm861.h \ + cet/ibm862.h cet/ibm863.h cet/ibm864.h cet/ibm865.h \ + cet/ibm868.h cet/ibm869.h cet/ibm871.h cet/ibm891.h \ + cet/ibm903.h cet/ibm904.h cet/iec_p27_1.h cet/iso_10367_box.h \ + cet/iso_5427.h cet/iso_646_irv.h cet/iso_6937_2_25.h cet/iso_8859_1.h \ + cet/iso_8859_10.h cet/iso_8859_13.h cet/iso_8859_14.h cet/iso_8859_15.h \ + cet/iso_8859_2.h cet/iso_8859_3.h cet/iso_8859_4.h cet/iso_8859_5.h \ + cet/iso_8859_6.h cet/iso_8859_7.h cet/iso_8859_8.h cet/iso_8859_9.h \ + cet/iso_8859_supp.h cet/it.h cet/jis_c6220_1969_ro.h cet/jis_x0201.h \ + cet/jus_i_b1_002.h cet/jus_i_b1_003_mac.h cet/jus_i_b1_003_serb.h cet/keybcs2.h \ + cet/koi8_r.h cet/koi8_ru.h cet/koi8_u.h cet/koi_7.h \ + cet/koi_8.h cet/koi_8_cs2.h cet/ksc5636.h cet/latin_greek_1.h \ + cet/mac_is.h cet/macintosh.h cet/macintosh_ce.h cet/msz_7795_3.h \ + cet/nats_dano.h cet/nats_sefi.h cet/nc_nc00_10.h cet/nextstep.h \ + cet/nf_z_62_010.h cet/nf_z_62_010__1973_.h cet/ns_4551_1.h cet/ns_4551_2.h \ + cet/pt.h cet/pt2.h cet/sami.h cet/sen_850200_b.h \ + cet/sen_850200_c.h cet/tcvn.h cet/viscii.h cet/vps.h coldsync/pdb.o: coldsync/pdb.c coldsync/config.h coldsync/palm.h \ coldsync/pdb.h coldsync/util.o: coldsync/util.c coldsync/config.h coldsync/pconn/util.h \ diff --git a/gpsbabel/README b/gpsbabel/README index d858f61bc..a11451742 100644 --- a/gpsbabel/README +++ b/gpsbabel/README @@ -75,6 +75,7 @@ COMMON USAGE gpsbabel -s -i geo -f geocaching.loc -o magellan -F /dev/ttyS0 gpsbabel -s -i geo -f geocaching.loc -o magellan -F com1 + ADVANCED USAGE Argument are processed in the order they appear on the command line @@ -102,6 +103,17 @@ ADVANCED USAGE You can write the same data in different output formats: gpsbabel -i geo -f 1.loc -o gpx -F 1.gpx -o pcx 1.wpt + + If you want to change the character set of input or/and output + side you can do this with the option -c . You can get + a complete list of supported character sets with "gpsbabel -l". + To change the character set on both sides you should do this: + + gpsbabel -i xcsv,style=foo.style -c latin1 -f foo + -o xcsv,style=bar.style -c ms-ansi -F bar + + Note, that some formats has a fixed character set and ignore this option. + ROUTE AND TRACK MODES diff --git a/gpsbabel/an1.c b/gpsbabel/an1.c index 0b72ce59c..1c8983fd9 100644 --- a/gpsbabel/an1.c +++ b/gpsbabel/an1.c @@ -846,5 +846,6 @@ ff_vecs_t an1_vecs = { my_read, my_write, NULL, - an1_args + an1_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/bcr.c b/gpsbabel/bcr.c index 29bde2fa7..e1e26a9c3 100644 --- a/gpsbabel/bcr.c +++ b/gpsbabel/bcr.c @@ -26,12 +26,11 @@ #include #include #include - +#include "cet_util.h" #define MYNAME "bcr" -#define BCR_DEBUG -// #undef BCR_DEBUG +#undef BCR_DEBUG #define SEC_UNKNOWN 0 #define SEC_CLIENT 1 @@ -243,7 +242,7 @@ bcr_data_read(void) } if (src != NULL) xfree(src); - src = str_iso8859_1_to_utf8(buff); + src = xstrdup(buff); /* !! buff is now free and can be used */ c = bcr_next_char(src); /* skip spaces */ @@ -378,10 +377,14 @@ void bcr_write_line(FILE *fout, const char *key, int *index, const char *value) } else { + char *tmp; + + tmp = (value != NULL) ? xstrdup(value) : xstrdup(""); if (index != NULL) - fprintf(fout, "%s%d=%s\x0d\n", key, *index, value); + fprintf(fout, "%s%d=%s\x0d\n", key, *index, tmp); else - fprintf(fout, "%s=%s\x0d\n", key, value); + fprintf(fout, "%s=%s\x0d\n", key, tmp); + xfree(tmp); } } @@ -499,6 +502,6 @@ ff_vecs_t bcr_vecs = { bcr_data_read, bcr_data_write, NULL, - bcr_args + bcr_args, + CET_CHARSET_MS_ANSI, 0 /* CET-REVIEW */ }; - diff --git a/gpsbabel/brauniger_iq.c b/gpsbabel/brauniger_iq.c index e42d820c2..42647bff7 100644 --- a/gpsbabel/brauniger_iq.c +++ b/gpsbabel/brauniger_iq.c @@ -276,5 +276,6 @@ ff_vecs_t brauniger_iq_vecs = { data_read, NULL, NULL, - brauniger_iq_args + brauniger_iq_args, + CET_CHARSET_UTF8, 1 /* master process: don't convert anything | CET-REVIEW */ }; diff --git a/gpsbabel/cet.c b/gpsbabel/cet.c new file mode 100644 index 000000000..a08febfc7 --- /dev/null +++ b/gpsbabel/cet.c @@ -0,0 +1,360 @@ +/* + + Character encoding transformation - basics + + Copyright (C) 2005 Olaf Klein, o.b.klein@t-online.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA +*/ + +#include "defs.h" +#include "cet.h" + +#include +#include +#include +#include + +/* ! ALL vec PARAMETERS HAVE TO BE A VALID POINTER TO A cet_cs_vec_t RECORD ! */ + +/* =========================================================================== */ +/* %%% single character or value transmission %%% */ +/* --------------------------------------------------------------------------- */ + +/* %%% cet_char_to_ucs4 %%% + * + * single character to UCS-4 code %%% + * return values: 0 if convertable character, otherwise 1 + */ + +int +cet_char_to_ucs4(const char src, const cet_cs_vec_t *vec, int *value) +{ + int trash, c; + int *dest; + + c = ((unsigned char)src & 0xFF); + dest = (value != NULL) ? value : &trash; + + *dest = c; + c -= vec->ucs4_offset; + + if (c < 0) return CET_SUCESS; + else if ((c >= vec->ucs4_count) || (vec->ucs4_map[c] == -1)) return CET_ERROR; + else + { + *dest = vec->ucs4_map[c]; + return CET_SUCESS; + } +} + +/* %%% cet_ucs4_to_utf8 %%% + * + * convert single UCS-4 value into UTF-8 sequence + * + * return values: >= 0: length of produced UTF-8 sequence + * < 0: -bytes more needed in target space + */ + +int +cet_ucs4_to_utf8(char *dest, size_t dest_size, int value) +{ + int result; + char trash[16]; + unsigned char *c; + + c = (dest != NULL) ? dest : trash; + + if ((value & 0xffffff80) == 0) /* <= 7 bits */ + { + if (dest_size < 1) return (dest_size - 1); + *c++ = value; + result = 1; + } + else if ((value & 0xfffff800) == 0) /* <= 11 bits */ + { + if (dest_size < 2) return (dest_size - 2); + *c++ = (0xc0 | (value >> 6)); + *c++ = (0x80 | (value & 0x3f)); + result = 2; + + } + else if ((value & 0xffff0000) == 0) /* <= 16 bits */ + { + if (dest_size < 3) return (dest_size - 3); + *c++ = (0xe0 | (value >> 12)); + *c++ = (0x80 | ((value >> 6) & 0x3f)); + *c++ = (0x80 | (value & 0x3f)); + result = 3; + } + else if ((value & 0xffe00000) == 0) /* <= 21 bits */ + { + if (dest_size < 4) return (dest_size - 4); + *c++ = (0xf0 | (value >> 18)); + *c++ = (0x80 | ((value >> 12) & 0x3f)); + *c++ = (0x80 | ((value >> 6) & 0x3f)); + *c++ = (0x80 | (value & 0x3f)); + result = 4; + } + else if ((value & 0xfc000000) == 0) /* <= 26 bits */ + { + if (dest_size < 5) return (dest_size - 5); + *c++ = (0xf8 | (value >> 24)); + *c++ = (0x80 | ((value >> 18) & 0x3f)); + *c++ = (0x80 | ((value >> 12) & 0x3f)); + *c++ = (0x80 | ((value >> 6) & 0x3f)); + *c++ = (0x80 | (value & 0x3f)); + result = 5; + } + else if ((value & 0x80000000) == 0) /* <= 31 bits */ + { + if (dest_size < 6) return (dest_size - 6); + *c++ = (0xfc | (value >> 30)); + *c++ = (0x80 | ((value >> 24) & 0x3f)); + *c++ = (0x80 | ((value >> 18) & 0x3f)); + *c++ = (0x80 | ((value >> 12) & 0x3f)); + *c++ = (0x80 | ((value >> 6) & 0x3f)); + *c++ = (0x80 | (value & 0x3f)); + result = 6; + } + else + { + return 0; /* Value = -1 */ + } + return result; +} + +/* %%% cet_utf8_to_ucs4 %%% + * + * decode single UTF-8 sequence into UCS-4 value + * + * return values: 0 if success, otherwise 1 + */ +int +cet_utf8_to_ucs4(const char *str, int *bytes, int *value) +{ + unsigned char *cp = (unsigned char *)str; + + if (*cp < 0x80) + { + if (bytes != NULL) *bytes = 1; + if (value != NULL) *value = *cp; + return CET_SUCESS; + } + else + { + unsigned char bits = 0xc0; + unsigned char mask = 0xe0; + int len = 0; + + for (len = 1; len <= 6; len++) /* outer loop, test UTF-8 frame */ + { + if ((*cp & mask) == bits) + { + int i = len; + while (i-- > 0) + { + cp++; + if ((*cp & 0xc0) != 0x80) break; /* invalid */ + else if (i == 0) /* all valid */ + { + char *c = (char *)str; /* found valid sequence, now storing value */ + int res = *c++ & (mask ^ 0xFF); + i = len; + while (i-- > 0) + res = (res << 6) | (*c++ & 0x3f); + + if (bytes != NULL) *bytes = len + 1; + if (value != NULL) *value = res; + return CET_SUCESS; + } + } + } + bits = (bits >> 1) | 0x80; + mask = (mask >> 1) | 0x80; + } + } + if (bytes != NULL) *bytes = 1; + if (value != NULL) *value = *cp; + return CET_ERROR; /* not valid */ +} + +/* %%% cet_ucs4_to_char %%% + * + * convert single UCS-4 value to original character from CS + * + * return values: coverted character or "CET_NOT_CONVERTABLE_DEFAULT" + * if not possible + */ +short +cet_ucs4_to_char(const int value, const cet_cs_vec_t *vec) +{ + cet_ucs4_link_t *link; + + if ((link = (cet_ucs4_link_t *)vec->ucs4_link)) + { + int i = 0; + int j = vec->ucs4_links - 1; /* validate ucs value against vec */ + while (i <= j) + { + int a = (i + j) >> 1; + int x = link[a].value; + + if (x < value) i = a + 1; + else if (x > value) j = a - 1; + else return link[a].origin; + } + } + + if ((link = (cet_ucs4_link_t *)vec->ucs4_extra)) /* can be NULL */ + { + int i = 0; + int j = vec->ucs4_extras - 1; + while (i <= j) + { + int a = (i + j) >> 1; + int x = link[a].value; + + if (x < value) i = a + 1; + else if (x > value) j = a - 1; + else return link[a].origin; + } + } + + if (value < vec->ucs4_offset + vec->ucs4_count) + return (char)value & 0xFF; + else + return CET_NOT_CONVERTABLE_DEFAULT; +} + +/* %%% cet_utf8_to_char %%% + * + * Convert single UTF-8 sequence directly into associated characted + * by given character set. + */ + +short +cet_utf8_to_char(const char *str, const cet_cs_vec_t *vec, /* out */ int *bytes, int *value) +{ + int b, v; + + cet_utf8_to_ucs4(str, &b, &v); /* decode UTF-8 sequence */ + + if (bytes != NULL) *bytes = b; + if (value != NULL) *value = v; + + return cet_ucs4_to_char(v, vec); +} + +/* =========================================================================== */ +/* %%% full string transformation %%% */ +/* =========================================================================== */ + +/* %%% cet_str_utf8_to_any %%% + * + * Converts a UTF-8 string to given character set + */ +char * +cet_str_utf8_to_any(const char *src, const cet_cs_vec_t *vec) +{ + char *c = (char *)src; + int len; + char *res, *dest, *cend; + + if (c == NULL) return NULL; + + len = strlen(c); + res = dest = xmalloc(len + 1); /* target will become smaller or equal length */ + + cend = c + len; + + while (c < cend) + { + int bytes; + *dest++ = cet_utf8_to_char(c, vec, &bytes, NULL); + c += bytes; + } + *dest = '\0'; + + return res; +} + + +/* %%% cet_str_any_to_utf8 %%% + * + * Converts a string from given character set to UTF-8 + */ +char * +cet_str_any_to_utf8(const char *src, const cet_cs_vec_t *vec) +{ + int len, value; + char *result, *cin, *cout; + char temp = CET_NOT_CONVERTABLE_DEFAULT; + + cin = (char *)src; + if (cin == NULL) return NULL; + + len = 0; + while (*cin != '\0') /* determine length of resulting UTF-8 string */ + { + if (CET_ERROR == cet_char_to_ucs4(*cin++, vec, &value)) + cet_char_to_ucs4(temp, vec, &value); + len += cet_ucs4_to_utf8(NULL, 6, value); + } + + result = cout = xmalloc(len + 1); + cin = (char *)src; + + while (*cin != '\0') + { + if (CET_ERROR == cet_char_to_ucs4(*cin++, vec, &value)) + cet_char_to_ucs4(temp, vec, &value); + cout += cet_ucs4_to_utf8(cout, 6, value); + } + *cout = '\0'; + return result; +} + +/* %%% cet_str_uni_to_utf8 %%% + * + * Converts an unicode string to UTF-8 + */ +char * +cet_str_uni_to_utf8(const short *src, const int length) +{ + int i, len; + unsigned short *cin; + char *res, *cout; + + if (src == NULL) return NULL; + + len = 0; + i = length; + cin = (unsigned short *)src; + + while (i-- > 0) + len += cet_ucs4_to_utf8(NULL, 6, *cin++); + + res = cout = xmalloc(len + 1); + cin = (unsigned short *)src; + i = length; + + while (i-- > 0) + cout += cet_ucs4_to_utf8(cout, 6, *cin++); + + *cout = '\0'; + + return res; +} diff --git a/gpsbabel/cet.h b/gpsbabel/cet.h new file mode 100644 index 000000000..aaf60f3d0 --- /dev/null +++ b/gpsbabel/cet.h @@ -0,0 +1,71 @@ +/* + + Character encoding transformation - basics header + + Copyright (C) 2005 Olaf Klein, o.b.klein@t-online.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA +*/ + +#ifndef CET_H +#define CET_H + +#include +#include + +#define CET_ERROR 1 +#define CET_SUCESS 0 + +typedef struct cet_ucs4_link_s +{ + int value; /* UCS-4 value */ + short origin; /* associeted character */ +} cet_ucs4_link_t; + +typedef struct cet_cs_vec_s +{ + const char *name; /* name of character set */ + const char **alias; /* alias table */ + int (*decode)(const char *, int *); /* ... to UCS-4 decoder !FUTURE! */ + short (*encode)(const int); /* UCS-4 to ... encoder !FUTURE! */ + const int *ucs4_map; /* char to UCS-4 value table */ + const int ucs4_offset; /* first non standard character */ + const int ucs4_count; /* values in table */ + const cet_ucs4_link_t *ucs4_link; /* UCS-4 to char backward links */ + const int ucs4_links; /* number of links */ + const cet_ucs4_link_t *ucs4_extra; /* Non standard UCS-4 to ... */ + const int ucs4_extras; /* number of extra links */ + struct cet_cs_vec_s *next; +} cet_cs_vec_t; + +/* single char/value transmission */ + +int cet_utf8_to_ucs4(const char *str, int *bytes, int *value); +int cet_ucs4_to_utf8(char *dest, size_t dest_size, int value); + +/* single char/value transmission - vec based */ + +int cet_char_to_ucs4(const char src, const cet_cs_vec_t *vec, int *value); +short cet_utf8_to_char(const char *str, const cet_cs_vec_t *vecint, int *bytes, int *value); +short cet_ucs4_to_char(const int value, const cet_cs_vec_t *vec); + +/* string to string - vector based */ + +char *cet_str_utf8_to_any(const char *src, const cet_cs_vec_t *vec); +char *cet_str_any_to_utf8(const char *src, const cet_cs_vec_t *vec); + +char *cet_str_uni_to_utf8(const short *src, const int length); + +#endif diff --git a/gpsbabel/cet/ansi_x3_4_1968.h b/gpsbabel/cet/ansi_x3_4_1968.h new file mode 100644 index 000000000..c16ea3cc0 --- /dev/null +++ b/gpsbabel/cet/ansi_x3_4_1968.h @@ -0,0 +1,144 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ANSI_X3.4-1968" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ansi_x3_4_1968_h +#define ansi_x3_4_1968_h + +#define cet_cs_name_ansi_x3_4_1968 "US-ASCII" + +const char *cet_cs_alias_ansi_x3_4_1968[] = +{ + "ANSI_X3.4-1968", "367/CR-LF", "ANSI_X3.4-1986", "ASCII", + "CP367/CR-LF", "csASCII", "IBM367/CR-LF", "ISO646-US", + "ISO646.1991-IRV", "iso-ir-6", "ISO_646.irv:1991", "us", + "US-ASCII", NULL +}; + +#define cet_ucs4_ofs_ansi_x3_4_1968 128 +#define cet_ucs4_cnt_ansi_x3_4_1968 0 + +const int cet_ucs4_map_ansi_x3_4_1968[cet_ucs4_cnt_ansi_x3_4_1968] = +{ +}; + +#define cet_ucs4_to_ansi_x3_4_1968_ct 0 + +const cet_ucs4_link_t cet_ucs4_to_ansi_x3_4_1968_links[cet_ucs4_to_ansi_x3_4_1968_ct] = +{ +}; + +#define cet_ucs4_to_ansi_x3_4_1968_extra_ct 25 + +const cet_ucs4_link_t cet_ucs4_to_ansi_x3_4_1968_extra[cet_ucs4_to_ansi_x3_4_1968_extra_ct] = +/* ------------------------------------------*/ +/* !!! sorted by UCS-4 value !!! */ +/* ------------------------------------------*/ +{ + {0x00c0, (unsigned char) 'A'}, + {0x00c1, (unsigned char) 'A'}, + {0x00c2, (unsigned char) 'A'}, + {0x00c3, (unsigned char) 'A'}, + {0x00c4, (unsigned char) 'A'}, + {0x00c5, (unsigned char) 'A'}, + {0x00e0, (unsigned char) 'a'}, + {0x00e1, (unsigned char) 'a'}, + {0x00e2, (unsigned char) 'a'}, + {0x00e3, (unsigned char) 'a'}, + {0x00e4, (unsigned char) 'a'}, + {0x00e5, (unsigned char) 'a'}, + {0x00e8, (unsigned char) 'e'}, + {0x00e9, (unsigned char) 'e'}, + {0x00ea, (unsigned char) 'e'}, + {0x00eb, (unsigned char) 'e'}, + {0x00f2, (unsigned char) 'o'}, + {0x00f3, (unsigned char) 'o'}, + {0x00f4, (unsigned char) 'o'}, + {0x00f5, (unsigned char) 'o'}, + {0x00f6, (unsigned char) 'o'}, + {0x00fc, (unsigned char) 'u'}, + {0x1e94, (unsigned char) 'u'}, + {0x201c, (unsigned char) '"'}, + {0x201d, (unsigned char) '"'} +}; + +cet_cs_vec_t cet_cs_vec_ansi_x3_4_1968 = /* defined in cet.h */ +{ + cet_cs_name_ansi_x3_4_1968, /* name of character set */ + cet_cs_alias_ansi_x3_4_1968, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ansi_x3_4_1968, /* char to UCS-4 value table */ + cet_ucs4_ofs_ansi_x3_4_1968, /* first non standard character */ + cet_ucs4_cnt_ansi_x3_4_1968, /* number of values in table */ + + cet_ucs4_to_ansi_x3_4_1968_links, /* UCS-4 to char links */ + cet_ucs4_to_ansi_x3_4_1968_ct, /* number of links */ + + cet_ucs4_to_ansi_x3_4_1968_extra, /* hand made UCS-4 links */ + cet_ucs4_to_ansi_x3_4_1968_extra_ct, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ansi_x3_4_1968_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/atarist.h b/gpsbabel/cet/atarist.h new file mode 100644 index 000000000..b0403add4 --- /dev/null +++ b/gpsbabel/cet/atarist.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "AtariST" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef atarist_h +#define atarist_h + +#define cet_cs_name_atarist "AtariST" + +const char *cet_cs_alias_atarist[] = +{ + "AtariST", NULL +}; + +#define cet_ucs4_ofs_atarist 128 +#define cet_ucs4_cnt_atarist 128 + +const int cet_ucs4_map_atarist[cet_ucs4_cnt_atarist] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x00df, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x00e3, 0x00f5, 0x00d8, 0x00f8, 0x0153, 0x0152, 0x00c0, 0x00c3, + 0x00d5, 0x00a8, 0x00b4, 0x2020, 0x00b6, 0x00a9, 0x00ae, 0x2122, + 0x0133, 0x0132, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, + 0x05d6, 0x05d7, 0x05d8, 0x05d9, 0x05db, 0x05dc, 0x05de, 0x05e0, + 0x05e1, 0x05e2, 0x05e4, 0x05e6, 0x05e7, 0x05e8, 0x05e9, 0x05ea, + 0x05df, 0x05da, 0x05dd, 0x05e3, 0x05e5, 0x00a7, 0x2038, 0x221e, + 0x03b1, 0x03b2, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x03b8, 0x2126, 0x03b4, 0x222e, 0x03c6, 0x2208, 0x220f, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x2022, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x00b3, 0x00af +}; + +#define cet_ucs4_to_atarist_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_atarist_links[cet_ucs4_to_atarist_ct] = +{ + {0x00a1, 0xad} /* exclamation mark */, + {0x00a2, 0x9b} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00a5, 0x9d} /* sign */, + {0x00a7, 0xdd} /* sign */, + {0x00a8, 0xb9} /* diaeresis */, + {0x00a9, 0xbd} /* sign */, + {0x00aa, 0xa6} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00ae, 0xbe} /* sign */, + {0x00af, 0xff} /* macron */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b3, 0xfe} /* three */, + {0x00b4, 0xba} /* accent */, + {0x00b5, 0xe6} /* sign */, + {0x00b6, 0xbc} /* sign */, + {0x00b7, 0xfa} /* dot */, + {0x00ba, 0xa7} /* ordinal indicator */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00bf, 0xa8} /* question mark */, + {0x00c0, 0xb6} /* capital letter a with grave */, + {0x00c3, 0xb7} /* capital letter a with tilde */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c5, 0x8f} /* capital letter a with ring above */, + {0x00c6, 0x92} /* capital letter ae */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d5, 0xb8} /* capital letter o with tilde */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00d8, 0xb2} /* capital letter o with stroke */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00df, 0x9e} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e3, 0xb0} /* small letter a with tilde */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e5, 0x86} /* small letter a with ring above */, + {0x00e6, 0x91} /* small letter ae */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ec, 0x8d} /* small letter i with grave */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f2, 0x95} /* small letter o with grave */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f5, 0xb1} /* small letter o with tilde */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00f8, 0xb3} /* small letter o with stroke */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00ff, 0x98} /* small letter y with diaeresis */, + {0x0132, 0xc1} /* capital ligature ij */, + {0x0133, 0xc0} /* small ligature ij */, + {0x0152, 0xb5} /* capital ligature oe */, + {0x0153, 0xb4} /* small ligature oe */, + {0x0192, 0x9f} /* minuscule latine f hameçon */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b2, 0xe1} /* small letter beta */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b8, 0xe9} /* small letter theta */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x03c6, 0xed} /* small letter phi */, + {0x05d0, 0xc2} /* letter alef */, + {0x05d1, 0xc3} /* letter bet */, + {0x05d2, 0xc4} /* letter gimel */, + {0x05d3, 0xc5} /* letter dalet */, + {0x05d4, 0xc6} /* letter he */, + {0x05d5, 0xc7} /* letter vav */, + {0x05d6, 0xc8} /* letter zayin */, + {0x05d7, 0xc9} /* letter het */, + {0x05d8, 0xca} /* letter tet */, + {0x05d9, 0xcb} /* letter yod */, + {0x05da, 0xd9} /* letter final kaf */, + {0x05db, 0xcc} /* letter kaf */, + {0x05dc, 0xcd} /* letter lamed */, + {0x05dd, 0xda} /* letter final mem */, + {0x05de, 0xce} /* letter mem */, + {0x05df, 0xd8} /* letter final nun */, + {0x05e0, 0xcf} /* letter nun */, + {0x05e1, 0xd0} /* letter samekh */, + {0x05e2, 0xd1} /* letter ayin */, + {0x05e3, 0xdb} /* letter final pe */, + {0x05e4, 0xd2} /* letter pe */, + {0x05e5, 0xdc} /* letter final tsadi */, + {0x05e6, 0xd3} /* letter tsadi */, + {0x05e7, 0xd4} /* letter qof */, + {0x05e8, 0xd5} /* letter resh */, + {0x05e9, 0xd6} /* letter shin */, + {0x05ea, 0xd7} /* letter tav */, + {0x2020, 0xbb} /* dagger */, + {0x2022, 0xf9} /* puce */, + {0x2038, 0xde} /* caret */, + {0x207f, 0xfc} /* latin small letter n */, + {0x2122, 0xbf} /* mark sign */, + {0x2126, 0xea} /* sign */, + {0x2208, 0xee} /* of */, + {0x220f, 0xef} /* product */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xdf} /* infinity */, + {0x222e, 0xec} /* integral */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2310, 0xa9} /* not sign */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */ +}; + +/* +#define cet_ucs4_to_atarist_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_atarist_extra[cet_ucs4_to_atarist_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_atarist = /* defined in cet.h */ +{ + cet_cs_name_atarist, /* name of character set */ + cet_cs_alias_atarist, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_atarist, /* char to UCS-4 value table */ + cet_ucs4_ofs_atarist, /* first non standard character */ + cet_ucs4_cnt_atarist, /* number of values in table */ + + cet_ucs4_to_atarist_links, /* UCS-4 to char links */ + cet_ucs4_to_atarist_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int atarist_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x00df, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x00e3, 0x00f5, 0x00d8, 0x00f8, 0x0153, 0x0152, 0x00c0, 0x00c3, + 0x00d5, 0x00a8, 0x00b4, 0x2020, 0x00b6, 0x00a9, 0x00ae, 0x2122, + 0x0133, 0x0132, 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, + 0x05d6, 0x05d7, 0x05d8, 0x05d9, 0x05db, 0x05dc, 0x05de, 0x05e0, + 0x05e1, 0x05e2, 0x05e4, 0x05e6, 0x05e7, 0x05e8, 0x05e9, 0x05ea, + 0x05df, 0x05da, 0x05dd, 0x05e3, 0x05e5, 0x00a7, 0x2038, 0x221e, + 0x03b1, 0x03b2, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x03b8, 0x2126, 0x03b4, 0x222e, 0x03c6, 0x2208, 0x220f, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x2022, 0x00b7, 0x221a, 0x207f, 0x00b2, 0x00b3, 0x00af +}; +*/ + +#endif diff --git a/gpsbabel/cet/baltic.h b/gpsbabel/cet/baltic.h new file mode 100644 index 000000000..fdc436294 --- /dev/null +++ b/gpsbabel/cet/baltic.h @@ -0,0 +1,178 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "baltic" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef baltic_h +#define baltic_h + +#define cet_cs_name_baltic "baltic" + +const char *cet_cs_alias_baltic[] = +{ + "baltic", "iso-ir-179", NULL +}; + +#define cet_ucs4_ofs_baltic 161 +#define cet_ucs4_cnt_baltic 95 + +const int cet_ucs4_map_baltic[cet_ucs4_cnt_baltic] = +{ + 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 0x00d8, + 0x00a9, 0x201e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6, 0x00b0, + 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00f8, + 0x00b9, 0x201c, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6, 0x012e, + 0x0116, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0104, 0x010c, 0x0122, + 0x00c9, 0x017d, 0x0118, 0x0112, 0x0136, 0x012a, 0x013b, 0x0141, + 0x0145, 0x0143, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7, 0x0172, + 0x0160, 0x015a, 0x016a, 0x00dc, 0x017b, 0x0179, 0x00df, 0x012f, + 0x0117, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0105, 0x010d, 0x0123, + 0x00e9, 0x017e, 0x0119, 0x0113, 0x0137, 0x012b, 0x013c, 0x0142, + 0x0146, 0x0144, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7, 0x0173, + 0x0161, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017a, 0x0138 +}; + +#define cet_ucs4_to_baltic_ct 54 + +const cet_ucs4_link_t cet_ucs4_to_baltic_links[cet_ucs4_to_baltic_ct] = +{ + {0x00c6, 0xaf} /* capital letter ae */, + {0x00d8, 0xa8} /* capital letter o with stroke */, + {0x00e6, 0xbf} /* small letter ae */, + {0x00f8, 0xb8} /* small letter o with stroke */, + {0x0100, 0xc2} /* capital letter a with macron */, + {0x0101, 0xe2} /* small letter a with macron */, + {0x0104, 0xc6} /* capital letter a with ogonek */, + {0x0105, 0xe6} /* small letter a with ogonek */, + {0x0106, 0xc3} /* capital letter c with acute */, + {0x0107, 0xe3} /* small letter c with acute */, + {0x010c, 0xc7} /* capital letter c with caron */, + {0x010d, 0xe7} /* small letter c with caron */, + {0x0112, 0xcc} /* capital letter e with macron */, + {0x0113, 0xec} /* small letter e with macron */, + {0x0116, 0xc1} /* capital letter e with dot above */, + {0x0117, 0xe1} /* small letter e with dot above */, + {0x0118, 0xcb} /* capital letter e with ogonek */, + {0x0119, 0xeb} /* small letter e with ogonek */, + {0x0122, 0xc8} /* capital letter g with cedilla */, + {0x0123, 0xe8} /* small letter g with cedilla */, + {0x012a, 0xce} /* capital letter i with macron */, + {0x012b, 0xee} /* small letter i with macron */, + {0x012e, 0xc0} /* capital letter i with ogonek */, + {0x012f, 0xe0} /* small letter i with ogonek */, + {0x0136, 0xcd} /* capital letter k with cedilla */, + {0x0137, 0xed} /* small letter k with cedilla */, + {0x0138, 0xff} /* small letter kra (greenlandic) */, + {0x013b, 0xcf} /* capital letter l with cedilla */, + {0x013c, 0xef} /* small letter l with cedilla */, + {0x0141, 0xd0} /* capital letter l with stroke */, + {0x0142, 0xf0} /* small letter l with stroke */, + {0x0143, 0xd2} /* capital letter n with acute */, + {0x0144, 0xf2} /* small letter n with acute */, + {0x0145, 0xd1} /* capital letter n with cedilla */, + {0x0146, 0xf1} /* small letter n with cedilla */, + {0x014c, 0xd4} /* capital letter o with macron */, + {0x014d, 0xf4} /* small letter o with macron */, + {0x015a, 0xda} /* capital letter s with acute */, + {0x015b, 0xfa} /* small letter s with acute */, + {0x0160, 0xd9} /* capital letter s with caron */, + {0x0161, 0xf9} /* small letter s with caron */, + {0x016a, 0xdb} /* capital letter u with macron */, + {0x016b, 0xfb} /* small letter u with macron */, + {0x0172, 0xd8} /* capital letter u with ogonek */, + {0x0173, 0xf8} /* small letter u with ogonek */, + {0x0179, 0xde} /* capital letter z with acute */, + {0x017a, 0xfe} /* small letter z with acute */, + {0x017b, 0xdd} /* capital letter z with dot above */, + {0x017c, 0xfd} /* small letter z with dot above */, + {0x017d, 0xca} /* capital letter z with caron */, + {0x017e, 0xea} /* small letter z with caron */, + {0x201c, 0xba} /* double quotation mark */, + {0x201d, 0xa1} /* double quotation mark */, + {0x201e, 0xaa} /* low-9 quotation mark */ +}; + +/* +#define cet_ucs4_to_baltic_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_baltic_extra[cet_ucs4_to_baltic_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_baltic = /* defined in cet.h */ +{ + cet_cs_name_baltic, /* name of character set */ + cet_cs_alias_baltic, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_baltic, /* char to UCS-4 value table */ + cet_ucs4_ofs_baltic, /* first non standard character */ + cet_ucs4_cnt_baltic, /* number of values in table */ + + cet_ucs4_to_baltic_links, /* UCS-4 to char links */ + cet_ucs4_to_baltic_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int baltic_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x201d, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00d8, 0x00a9, 0x201e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00f8, 0x00b9, 0x201c, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6, + 0x012e, 0x0116, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0104, 0x010c, + 0x0122, 0x00c9, 0x017d, 0x0118, 0x0112, 0x0136, 0x012a, 0x013b, + 0x0141, 0x0145, 0x0143, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7, + 0x0172, 0x0160, 0x015a, 0x016a, 0x00dc, 0x017b, 0x0179, 0x00df, + 0x012f, 0x0117, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0105, 0x010d, + 0x0123, 0x00e9, 0x017e, 0x0119, 0x0113, 0x0137, 0x012b, 0x013c, + 0x0142, 0x0146, 0x0144, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7, + 0x0173, 0x0161, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017a, 0x0138 +}; +*/ + +#endif diff --git a/gpsbabel/cet/bs_4730.h b/gpsbabel/cet/bs_4730.h new file mode 100644 index 000000000..1aea8fecf --- /dev/null +++ b/gpsbabel/cet/bs_4730.h @@ -0,0 +1,127 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "BS_4730" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef bs_4730_h +#define bs_4730_h + +#define cet_cs_name_bs_4730 "BS_4730" + +const char *cet_cs_alias_bs_4730[] = +{ + "BS_4730", "gb", "ISO646-GB", "iso-ir-4", + "uk", NULL +}; + +#define cet_ucs4_ofs_bs_4730 35 +#define cet_ucs4_cnt_bs_4730 93 + +const int cet_ucs4_map_bs_4730[cet_ucs4_cnt_bs_4730] = +{ + 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, + 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, + 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, + 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, + 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, + 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, + 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x007b, 0x007c, 0x007d, 0x203e, 0x007f +}; + +#define cet_ucs4_to_bs_4730_ct 2 + +const cet_ucs4_link_t cet_ucs4_to_bs_4730_links[cet_ucs4_to_bs_4730_ct] = +{ + {0x00a3, 0x23} /* sign */, + {0x203e, 0x7e} /* overline */ +}; + +/* +#define cet_ucs4_to_bs_4730_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_bs_4730_extra[cet_ucs4_to_bs_4730_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_bs_4730 = /* defined in cet.h */ +{ + cet_cs_name_bs_4730, /* name of character set */ + cet_cs_alias_bs_4730, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_bs_4730, /* char to UCS-4 value table */ + cet_ucs4_ofs_bs_4730, /* first non standard character */ + cet_ucs4_cnt_bs_4730, /* number of values in table */ + + cet_ucs4_to_bs_4730_links, /* UCS-4 to char links */ + cet_ucs4_to_bs_4730_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int bs_4730_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/bs_viewdata.h b/gpsbabel/cet/bs_viewdata.h new file mode 100644 index 000000000..b8f450f28 --- /dev/null +++ b/gpsbabel/cet/bs_viewdata.h @@ -0,0 +1,134 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "BS_viewdata" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef bs_viewdata_h +#define bs_viewdata_h + +#define cet_cs_name_bs_viewdata "BS_viewdata" + +const char *cet_cs_alias_bs_viewdata[] = +{ + "BS_viewdata", "iso-ir-47", NULL +}; + +#define cet_ucs4_ofs_bs_viewdata 35 +#define cet_ucs4_cnt_bs_viewdata 93 + +const int cet_ucs4_map_bs_viewdata[cet_ucs4_cnt_bs_viewdata] = +{ + 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, + 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, + 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, + 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, + 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, + 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, + 0x2190, 0x00bd, 0x2192, 0x2191, 0x25a1, 0x0060, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00bc, 0x2225, 0x00be, 0x00f7, 0x007f +}; + +#define cet_ucs4_to_bs_viewdata_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_bs_viewdata_links[cet_ucs4_to_bs_viewdata_ct] = +{ + {0x00a3, 0x23} /* sign */, + {0x00bc, 0x7b} /* fraction one quarter */, + {0x00bd, 0x5c} /* fraction one half */, + {0x00be, 0x7d} /* fraction three quarters */, + {0x00f7, 0x7e} /* sign */, + {0x2190, 0x5b} /* arrow */, + {0x2191, 0x5e} /* arrow */, + {0x2192, 0x5d} /* arrow */, + {0x2225, 0x7c} /* to */, + {0x25a1, 0x5f} /* square */ +}; + +/* +#define cet_ucs4_to_bs_viewdata_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_bs_viewdata_extra[cet_ucs4_to_bs_viewdata_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_bs_viewdata = /* defined in cet.h */ +{ + cet_cs_name_bs_viewdata, /* name of character set */ + cet_cs_alias_bs_viewdata, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_bs_viewdata, /* char to UCS-4 value table */ + cet_ucs4_ofs_bs_viewdata, /* first non standard character */ + cet_ucs4_cnt_bs_viewdata, /* number of values in table */ + + cet_ucs4_to_bs_viewdata_links, /* UCS-4 to char links */ + cet_ucs4_to_bs_viewdata_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int bs_viewdata_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x2190, 0x00bd, 0x2192, 0x2191, 0x25a1, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00bc, 0x2225, 0x00be, 0x00f7, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1250.h b/gpsbabel/cet/cp1250.h new file mode 100644 index 000000000..6440aa28d --- /dev/null +++ b/gpsbabel/cet/cp1250.h @@ -0,0 +1,203 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1250" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1250_h +#define cp1250_h + +#define cet_cs_name_cp1250 "CP1250" + +const char *cet_cs_alias_cp1250[] = +{ + "CP1250/CR-LF", "1250/CR-LF", "ms-ee", "windows-1250", "WIN-CP1250", + NULL +}; + +#define cet_ucs4_ofs_cp1250 128 +#define cet_ucs4_cnt_cp1250 128 + +const int cet_ucs4_map_cp1250[cet_ucs4_cnt_cp1250] = +{ + 0x20ac, -1, 0x201a, -1, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, 0x0160, 0x2039, 0x015a, 0x0164, 0x017d, 0x0179, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, 0x0161, 0x203a, 0x015b, 0x0165, 0x017e, 0x017a, + 0x00a0, 0x02c7, 0x02d8, 0x0141, 0x00a4, 0x0104, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x015e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x017b, + 0x00b0, 0x00b1, 0x02db, 0x0142, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x0105, 0x015f, 0x00bb, 0x013d, 0x02dd, 0x013e, 0x017c, + 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7, + 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e, + 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7, + 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df, + 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7, + 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f, + 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7, + 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9 +}; + +#define cet_ucs4_to_cp1250_ct 74 + +const cet_ucs4_link_t cet_ucs4_to_cp1250_links[cet_ucs4_to_cp1250_ct] = +{ + {0x0102, 0xc3} /* capital letter a with breve */, + {0x0103, 0xe3} /* small letter a with breve */, + {0x0104, 0xa5} /* capital letter a with ogonek */, + {0x0105, 0xb9} /* small letter a with ogonek */, + {0x0106, 0xc6} /* capital letter c with acute */, + {0x0107, 0xe6} /* small letter c with acute */, + {0x010c, 0xc8} /* capital letter c with caron */, + {0x010d, 0xe8} /* small letter c with caron */, + {0x010e, 0xcf} /* capital letter d with caron */, + {0x010f, 0xef} /* small letter d with caron */, + {0x0110, 0xd0} /* capital letter d with stroke */, + {0x0111, 0xf0} /* small letter d with stroke */, + {0x0118, 0xca} /* capital letter e with ogonek */, + {0x0119, 0xea} /* small letter e with ogonek */, + {0x011a, 0xcc} /* capital letter e with caron */, + {0x011b, 0xec} /* small letter e with caron */, + {0x0139, 0xc5} /* capital letter l with acute */, + {0x013a, 0xe5} /* small letter l with acute */, + {0x013d, 0xbc} /* capital letter l with caron */, + {0x013e, 0xbe} /* small letter l with caron */, + {0x0141, 0xa3} /* capital letter l with stroke */, + {0x0142, 0xb3} /* small letter l with stroke */, + {0x0143, 0xd1} /* capital letter n with acute */, + {0x0144, 0xf1} /* small letter n with acute */, + {0x0147, 0xd2} /* capital letter n with caron */, + {0x0148, 0xf2} /* small letter n with caron */, + {0x0150, 0xd5} /* capital letter o with double acute */, + {0x0151, 0xf5} /* small letter o with double acute */, + {0x0154, 0xc0} /* capital letter r with acute */, + {0x0155, 0xe0} /* small letter r with acute */, + {0x0158, 0xd8} /* capital letter r with caron */, + {0x0159, 0xf8} /* small letter r with caron */, + {0x015a, 0x8c} /* capital letter s with acute */, + {0x015b, 0x9c} /* small letter s with acute */, + {0x015e, 0xaa} /* capital letter s with cedilla */, + {0x015f, 0xba} /* small letter s with cedilla */, + {0x0160, 0x8a} /* capital letter s with caron */, + {0x0161, 0x9a} /* small letter s with caron */, + {0x0162, 0xde} /* capital letter t with cedilla */, + {0x0163, 0xfe} /* small letter t with cedilla */, + {0x0164, 0x8d} /* capital letter t with caron */, + {0x0165, 0x9d} /* small letter t with caron */, + {0x016e, 0xd9} /* capital letter u with ring above */, + {0x016f, 0xf9} /* small letter u with ring above */, + {0x0170, 0xdb} /* capital letter u with double acute */, + {0x0171, 0xfb} /* small letter u with double acute */, + {0x0179, 0x8f} /* capital letter z with acute */, + {0x017a, 0x9f} /* small letter z with acute */, + {0x017b, 0xaf} /* capital letter z with dot above */, + {0x017c, 0xbf} /* small letter z with dot above */, + {0x017d, 0x8e} /* capital letter z with caron */, + {0x017e, 0x9e} /* small letter z with caron */, + {0x02c7, 0xa1} /* caron */, + {0x02d8, 0xa2} /* breve */, + {0x02d9, 0xff} /* above */, + {0x02db, 0xb2} /* ogonek */, + {0x02dd, 0xbd} /* acute accent */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x20ac, 0x80} /* euro */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_cp1250_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1250_extra[cet_ucs4_to_cp1250_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1250 = /* defined in cet.h */ +{ + cet_cs_name_cp1250, /* name of character set */ + cet_cs_alias_cp1250, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1250, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1250, /* first non standard character */ + cet_ucs4_cnt_cp1250, /* number of values in table */ + + cet_ucs4_to_cp1250_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1250_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1250_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x20ac, -1, 0x201a, -1, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, 0x0160, 0x2039, 0x015a, 0x0164, 0x017d, 0x0179, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, 0x0161, 0x203a, 0x015b, 0x0165, 0x017e, 0x017a, + 0x00a0, 0x02c7, 0x02d8, 0x0141, 0x00a4, 0x0104, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x015e, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x017b, + 0x00b0, 0x00b1, 0x02db, 0x0142, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x0105, 0x015f, 0x00bb, 0x013d, 0x02dd, 0x013e, 0x017c, + 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7, + 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e, + 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7, + 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df, + 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7, + 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f, + 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7, + 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9 +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1251.h b/gpsbabel/cet/cp1251.h new file mode 100644 index 000000000..7c4b494af --- /dev/null +++ b/gpsbabel/cet/cp1251.h @@ -0,0 +1,241 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1251" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1251_h +#define cp1251_h + +#define cet_cs_name_cp1251 "CP1251" + +const char *cet_cs_alias_cp1251[] = +{ + "CP1251/CR-LF", "1251/CR-LF", "ms-cyrl", "windows-1251", "WIN-CP1251", + NULL +}; + +#define cet_ucs4_ofs_cp1251 128 +#define cet_ucs4_cnt_cp1251 128 + +const int cet_ucs4_map_cp1251[cet_ucs4_cnt_cp1251] = +{ + 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021, + 0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f, + 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f, + 0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7, + 0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407, + 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7, + 0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f +}; + +#define cet_ucs4_to_cp1251_ct 112 + +const cet_ucs4_link_t cet_ucs4_to_cp1251_links[cet_ucs4_to_cp1251_ct] = +{ + {0x0401, 0xa8} /* capital letter io */, + {0x0402, 0x80} /* capital letter dje (serbocroatian) */, + {0x0403, 0x81} /* capital letter gje (macedonian) */, + {0x0404, 0xaa} /* capital letter ukrainian ie */, + {0x0405, 0xbd} /* capital letter dze (macedonian) */, + {0x0406, 0xb2} /* capital letter byelorussian-ukrainian i */, + {0x0407, 0xaf} /* capital letter yi (ukrainian) */, + {0x0408, 0xa3} /* capital letter je */, + {0x0409, 0x8a} /* capital letter lje */, + {0x040a, 0x8c} /* capital letter nje */, + {0x040b, 0x8e} /* capital letter tshe (serbocroatian) */, + {0x040c, 0x8d} /* capital letter kje (macedonian) */, + {0x040e, 0xa1} /* capital letter short u (byelorussian) */, + {0x040f, 0x8f} /* capital letter dzhe */, + {0x0410, 0xc0} /* capital letter a */, + {0x0411, 0xc1} /* capital letter be */, + {0x0412, 0xc2} /* capital letter ve */, + {0x0413, 0xc3} /* capital letter ghe */, + {0x0414, 0xc4} /* capital letter de */, + {0x0415, 0xc5} /* capital letter ie */, + {0x0416, 0xc6} /* capital letter zhe */, + {0x0417, 0xc7} /* capital letter ze */, + {0x0418, 0xc8} /* capital letter i */, + {0x0419, 0xc9} /* capital letter short i */, + {0x041a, 0xca} /* capital letter ka */, + {0x041b, 0xcb} /* capital letter el */, + {0x041c, 0xcc} /* capital letter em */, + {0x041d, 0xcd} /* capital letter en */, + {0x041e, 0xce} /* capital letter o */, + {0x041f, 0xcf} /* capital letter pe */, + {0x0420, 0xd0} /* capital letter er */, + {0x0421, 0xd1} /* capital letter es */, + {0x0422, 0xd2} /* capital letter te */, + {0x0423, 0xd3} /* capital letter u */, + {0x0424, 0xd4} /* capital letter ef */, + {0x0425, 0xd5} /* capital letter ha */, + {0x0426, 0xd6} /* capital letter tse */, + {0x0427, 0xd7} /* capital letter che */, + {0x0428, 0xd8} /* capital letter sha */, + {0x0429, 0xd9} /* capital letter shcha */, + {0x042a, 0xda} /* capital letter hard sign */, + {0x042b, 0xdb} /* capital letter yeru */, + {0x042c, 0xdc} /* capital letter soft sign */, + {0x042d, 0xdd} /* capital letter e */, + {0x042e, 0xde} /* capital letter yu */, + {0x042f, 0xdf} /* capital letter ya */, + {0x0430, 0xe0} /* small letter a */, + {0x0431, 0xe1} /* small letter be */, + {0x0432, 0xe2} /* small letter ve */, + {0x0433, 0xe3} /* small letter ghe */, + {0x0434, 0xe4} /* small letter de */, + {0x0435, 0xe5} /* small letter ie */, + {0x0436, 0xe6} /* small letter zhe */, + {0x0437, 0xe7} /* small letter ze */, + {0x0438, 0xe8} /* small letter i */, + {0x0439, 0xe9} /* small letter short i */, + {0x043a, 0xea} /* small letter ka */, + {0x043b, 0xeb} /* small letter el */, + {0x043c, 0xec} /* small letter em */, + {0x043d, 0xed} /* small letter en */, + {0x043e, 0xee} /* small letter o */, + {0x043f, 0xef} /* small letter pe */, + {0x0440, 0xf0} /* small letter er */, + {0x0441, 0xf1} /* small letter es */, + {0x0442, 0xf2} /* small letter te */, + {0x0443, 0xf3} /* small letter u */, + {0x0444, 0xf4} /* small letter ef */, + {0x0445, 0xf5} /* small letter ha */, + {0x0446, 0xf6} /* small letter tse */, + {0x0447, 0xf7} /* small letter che */, + {0x0448, 0xf8} /* small letter sha */, + {0x0449, 0xf9} /* small letter shcha */, + {0x044a, 0xfa} /* small letter hard sign */, + {0x044b, 0xfb} /* small letter yeru */, + {0x044c, 0xfc} /* small letter soft sign */, + {0x044d, 0xfd} /* small letter e */, + {0x044e, 0xfe} /* small letter yu */, + {0x044f, 0xff} /* small letter ya */, + {0x0451, 0xb8} /* small letter io */, + {0x0452, 0x90} /* small letter dje (serbocroatian) */, + {0x0453, 0x83} /* small letter gje (macedonian) */, + {0x0454, 0xba} /* small letter ukrainian ie */, + {0x0455, 0xbe} /* small letter dze (macedonian) */, + {0x0456, 0xb3} /* small letter byelorussian-ukrainian i */, + {0x0457, 0xbf} /* small letter yi (ukrainian) */, + {0x0458, 0xbc} /* small letter je */, + {0x0459, 0x9a} /* small letter lje */, + {0x045a, 0x9c} /* small letter nje */, + {0x045b, 0x9e} /* small letter tshe (serbocroatian) */, + {0x045c, 0x9d} /* small letter kje (macedonian) */, + {0x045e, 0xa2} /* small letter short u (byelorussian) */, + {0x045f, 0x9f} /* small letter dzhe */, + {0x0490, 0xa5} /* capital letter ghe with upturn */, + {0x0491, 0xb4} /* small letter ghe with upturn */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x20ac, 0x88} /* euro */, + {0x2116, 0xb9} /* sign */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_cp1251_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1251_extra[cet_ucs4_to_cp1251_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1251 = /* defined in cet.h */ +{ + cet_cs_name_cp1251, /* name of character set */ + cet_cs_alias_cp1251, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1251, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1251, /* first non standard character */ + cet_ucs4_cnt_cp1251, /* number of values in table */ + + cet_ucs4_to_cp1251_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1251_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1251_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021, + 0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f, + 0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f, + 0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7, + 0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407, + 0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7, + 0x0451, 0x2116, 0x0454, 0x00bb, 0x0458, 0x0405, 0x0455, 0x0457, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1252.h b/gpsbabel/cet/cp1252.h new file mode 100644 index 000000000..bf5ca0d50 --- /dev/null +++ b/gpsbabel/cet/cp1252.h @@ -0,0 +1,156 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1252" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1252_h +#define cp1252_h + +#define cet_cs_name_cp1252 "CP1252" + +const char *cet_cs_alias_cp1252[] = +{ + "CP1252/CR-LF", "1252/CR-LF", "ms-ansi", "windows-1252", "WIN-CP1252", + NULL +}; + +#define cet_ucs4_ofs_cp1252 128 +#define cet_ucs4_cnt_cp1252 128 + +const int cet_ucs4_map_cp1252[cet_ucs4_cnt_cp1252] = +{ + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, -1, 0x017d, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, -1, 0x017e, 0x0178, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff +}; + +#define cet_ucs4_to_cp1252_ct 27 + +const cet_ucs4_link_t cet_ucs4_to_cp1252_links[cet_ucs4_to_cp1252_ct] = +{ + {0x0152, 0x8c} /* capital ligature oe */, + {0x0153, 0x9c} /* small ligature oe */, + {0x0160, 0x8a} /* capital letter s with caron */, + {0x0161, 0x9a} /* small letter s with caron */, + {0x0178, 0x9f} /* capital letter y with diaeresis */, + {0x017d, 0x8e} /* capital letter z with caron */, + {0x017e, 0x9e} /* small letter z with caron */, + {0x0192, 0x83} /* minuscule latine f hameçon */, + {0x02c6, 0x88} /* modificative accent circonflexe */, + {0x02dc, 0x98} /* tilde */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x20ac, 0x80} /* euro */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_cp1252_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1252_extra[cet_ucs4_to_cp1252_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1252 = /* defined in cet.h */ +{ + cet_cs_name_cp1252, /* name of character set */ + cet_cs_alias_cp1252, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1252, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1252, /* first non standard character */ + cet_ucs4_cnt_cp1252, /* number of values in table */ + + cet_ucs4_to_cp1252_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1252_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1252_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, -1, 0x017d, 0x017e, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, -1, -1, 0x0178, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1253.h b/gpsbabel/cet/cp1253.h new file mode 100644 index 000000000..a62caf745 --- /dev/null +++ b/gpsbabel/cet/cp1253.h @@ -0,0 +1,219 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1253" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1253_h +#define cp1253_h + +#define cet_cs_name_cp1253 "CP1253" + +const char *cet_cs_alias_cp1253[] = +{ + "CP1253/CR-LF", "1253/CR-LF", "ms-greek", "windows-1253", "WIN-CP1253", + NULL +}; + +#define cet_ucs4_ofs_cp1253 128 +#define cet_ucs4_cnt_cp1253 127 + +const int cet_ucs4_map_cp1253[cet_ucs4_cnt_cp1253] = +{ + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, -1, 0x2039, -1, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, -1, 0x203a, -1, -1, -1, -1, + 0x00a0, 0x0385, 0x0386, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, -1, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x2015, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x00b5, 0x00b6, 0x00b7, + 0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f, + 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, + 0x03a0, 0x03a1, -1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, + 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af, + 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, + 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, + 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, + 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce +}; + +#define cet_ucs4_to_cp1253_ct 90 + +const cet_ucs4_link_t cet_ucs4_to_cp1253_links[cet_ucs4_to_cp1253_ct] = +{ + {0x0192, 0x83} /* minuscule latine f hameçon */, + {0x0384, 0xb4} /* grec tonos */, + {0x0385, 0xa1} /* accent and diaeresis (tonos and dialytika) */, + {0x0386, 0xa2} /* capital letter alpha with acute */, + {0x0388, 0xb8} /* capital letter epsilon with acute */, + {0x0389, 0xb9} /* capital letter eta with acute */, + {0x038a, 0xba} /* capital letter iota with acute */, + {0x038c, 0xbc} /* capital letter omicron with acute */, + {0x038e, 0xbe} /* capital letter upsilon with acute */, + {0x038f, 0xbf} /* capital letter omega with acute */, + {0x0390, 0xc0} /* small letter iota with acute and diaeresis */, + {0x0391, 0xc1} /* capital letter alpha */, + {0x0392, 0xc2} /* capital letter beta */, + {0x0393, 0xc3} /* capital letter gamma */, + {0x0394, 0xc4} /* capital letter delta */, + {0x0395, 0xc5} /* capital letter epsilon */, + {0x0396, 0xc6} /* capital letter zeta */, + {0x0397, 0xc7} /* capital letter eta */, + {0x0398, 0xc8} /* capital letter theta */, + {0x0399, 0xc9} /* capital letter iota */, + {0x039a, 0xca} /* capital letter kappa */, + {0x039b, 0xcb} /* capital letter lamda */, + {0x039c, 0xcc} /* capital letter mu */, + {0x039d, 0xcd} /* capital letter nu */, + {0x039e, 0xce} /* capital letter xi */, + {0x039f, 0xcf} /* capital letter omicron */, + {0x03a0, 0xd0} /* capital letter pi */, + {0x03a1, 0xd1} /* capital letter rho */, + {0x03a3, 0xd3} /* capital letter sigma */, + {0x03a4, 0xd4} /* capital letter tau */, + {0x03a5, 0xd5} /* capital letter upsilon */, + {0x03a6, 0xd6} /* capital letter phi */, + {0x03a7, 0xd7} /* capital letter chi */, + {0x03a8, 0xd8} /* capital letter psi */, + {0x03a9, 0xd9} /* capital letter omega */, + {0x03aa, 0xda} /* capital letter iota with diaeresis */, + {0x03ab, 0xdb} /* capital letter upsilon with diaeresis */, + {0x03ac, 0xdc} /* small letter alpha with acute */, + {0x03ad, 0xdd} /* small letter epsilon with acute */, + {0x03ae, 0xde} /* small letter eta with acute */, + {0x03af, 0xdf} /* small letter iota with acute */, + {0x03b0, 0xe0} /* small letter upsilon with acute and diaeresis */, + {0x03b1, 0xe1} /* small letter alpha */, + {0x03b2, 0xe2} /* small letter beta */, + {0x03b3, 0xe3} /* small letter gamma */, + {0x03b4, 0xe4} /* small letter delta */, + {0x03b5, 0xe5} /* small letter epsilon */, + {0x03b6, 0xe6} /* small letter zeta */, + {0x03b7, 0xe7} /* small letter eta */, + {0x03b8, 0xe8} /* small letter theta */, + {0x03b9, 0xe9} /* small letter iota */, + {0x03ba, 0xea} /* small letter kappa */, + {0x03bb, 0xeb} /* small letter lamda */, + {0x03bc, 0xec} /* small letter mu */, + {0x03bd, 0xed} /* small letter nu */, + {0x03be, 0xee} /* small letter xi */, + {0x03bf, 0xef} /* small letter omicron */, + {0x03c0, 0xf0} /* small letter pi */, + {0x03c1, 0xf1} /* small letter rho */, + {0x03c2, 0xf2} /* small letter final sigma */, + {0x03c3, 0xf3} /* small letter sigma */, + {0x03c4, 0xf4} /* small letter tau */, + {0x03c5, 0xf5} /* small letter upsilon */, + {0x03c6, 0xf6} /* small letter phi */, + {0x03c7, 0xf7} /* small letter chi */, + {0x03c8, 0xf8} /* small letter psi */, + {0x03c9, 0xf9} /* small letter omega */, + {0x03ca, 0xfa} /* small letter iota with diaeresis */, + {0x03cb, 0xfb} /* small letter upsilon with diaeresis */, + {0x03cc, 0xfc} /* small letter omicron with acute */, + {0x03cd, 0xfd} /* small letter upsilon with acute */, + {0x03ce, 0xfe} /* small letter omega with acute */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2015, 0xaf} /* bar */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x20ac, 0x80} /* euro */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_cp1253_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1253_extra[cet_ucs4_to_cp1253_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1253 = /* defined in cet.h */ +{ + cet_cs_name_cp1253, /* name of character set */ + cet_cs_alias_cp1253, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1253, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1253, /* first non standard character */ + cet_ucs4_cnt_cp1253, /* number of values in table */ + + cet_ucs4_to_cp1253_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1253_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1253_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, -1, 0x2039, -1, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, -1, 0x203a, -1, -1, -1, -1, + 0x00a0, 0x0385, 0x0386, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, -1, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x2015, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x0384, 0x00b5, 0x00b6, 0x00b7, + 0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f, + 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, + 0x03a0, 0x03a1, -1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, + 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af, + 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, + 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, + 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, + 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1254.h b/gpsbabel/cet/cp1254.h new file mode 100644 index 000000000..3995e0942 --- /dev/null +++ b/gpsbabel/cet/cp1254.h @@ -0,0 +1,163 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1254" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1254_h +#define cp1254_h + +#define cet_cs_name_cp1254 "CP1254" + +const char *cet_cs_alias_cp1254[] = +{ + "CP1254/CR-LF", "1254/CR-LF", "ms-turk", "windows-1254", "WIN-CP1254", + NULL +}; + +#define cet_ucs4_ofs_cp1254 128 +#define cet_ucs4_cnt_cp1254 128 + +const int cet_ucs4_map_cp1254[cet_ucs4_cnt_cp1254] = +{ + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, -1, -1, 0x0178, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b, + 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff +}; + +#define cet_ucs4_to_cp1254_ct 34 + +const cet_ucs4_link_t cet_ucs4_to_cp1254_links[cet_ucs4_to_cp1254_ct] = +{ + {0x0117, 0xec} /* small letter e with dot above */, + {0x0119, 0xea} /* small letter e with ogonek */, + {0x011e, 0xd0} /* capital letter g with breve */, + {0x011f, 0xf0} /* small letter g with breve */, + {0x012b, 0xef} /* small letter i with macron */, + {0x0130, 0xdd} /* capital letter i with dot above */, + {0x0131, 0xfd} /* small letter i dotless */, + {0x0152, 0x8c} /* capital ligature oe */, + {0x0153, 0x9c} /* small ligature oe */, + {0x015e, 0xde} /* capital letter s with cedilla */, + {0x015f, 0xfe} /* small letter s with cedilla */, + {0x0160, 0x8a} /* capital letter s with caron */, + {0x0161, 0x9a} /* small letter s with caron */, + {0x0178, 0x9f} /* capital letter y with diaeresis */, + {0x0192, 0x83} /* minuscule latine f hameçon */, + {0x02c6, 0x88} /* modificative accent circonflexe */, + {0x02dc, 0x98} /* tilde */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x20ac, 0x80} /* euro */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_cp1254_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1254_extra[cet_ucs4_to_cp1254_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1254 = /* defined in cet.h */ +{ + cet_cs_name_cp1254, /* name of character set */ + cet_cs_alias_cp1254, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1254, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1254, /* first non standard character */ + cet_ucs4_cnt_cp1254, /* number of values in table */ + + cet_ucs4_to_cp1254_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1254_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1254_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, -1, -1, 0x0178, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b, + 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1255.h b/gpsbabel/cet/cp1255.h new file mode 100644 index 000000000..155417437 --- /dev/null +++ b/gpsbabel/cet/cp1255.h @@ -0,0 +1,180 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1255" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1255_h +#define cp1255_h + +#define cet_cs_name_cp1255 "CP1255" + +const char *cet_cs_alias_cp1255[] = +{ + "CP1255/CR-LF", "1255/CR-LF", "ms-hebr", "windows-1255", "WIN-CP1255", + NULL +}; + +#define cet_ucs4_ofs_cp1255 128 +#define cet_ucs4_cnt_cp1255 127 + +const int cet_ucs4_map_cp1255[cet_ucs4_cnt_cp1255] = +{ + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, -1, 0x2039, -1, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, -1, 0x203a, -1, -1, -1, -1, + 0x00a0, -1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x203e, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 0x2017, + 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7, + 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x05ea, -1, -1, 0x200e, 0x200f +}; + +#define cet_ucs4_to_cp1255_ct 51 + +const cet_ucs4_link_t cet_ucs4_to_cp1255_links[cet_ucs4_to_cp1255_ct] = +{ + {0x00d7, 0xaa} /* sign */, + {0x00f7, 0xba} /* sign */, + {0x0192, 0x83} /* minuscule latine f hameçon */, + {0x05d0, 0xe0} /* letter alef */, + {0x05d1, 0xe1} /* letter bet */, + {0x05d2, 0xe2} /* letter gimel */, + {0x05d3, 0xe3} /* letter dalet */, + {0x05d4, 0xe4} /* letter he */, + {0x05d5, 0xe5} /* letter vav */, + {0x05d6, 0xe6} /* letter zayin */, + {0x05d7, 0xe7} /* letter het */, + {0x05d8, 0xe8} /* letter tet */, + {0x05d9, 0xe9} /* letter yod */, + {0x05da, 0xea} /* letter final kaf */, + {0x05db, 0xeb} /* letter kaf */, + {0x05dc, 0xec} /* letter lamed */, + {0x05dd, 0xed} /* letter final mem */, + {0x05de, 0xee} /* letter mem */, + {0x05df, 0xef} /* letter final nun */, + {0x05e0, 0xf0} /* letter nun */, + {0x05e1, 0xf1} /* letter samekh */, + {0x05e2, 0xf2} /* letter ayin */, + {0x05e3, 0xf3} /* letter final pe */, + {0x05e4, 0xf4} /* letter pe */, + {0x05e5, 0xf5} /* letter final tsadi */, + {0x05e6, 0xf6} /* letter tsadi */, + {0x05e7, 0xf7} /* letter qof */, + {0x05e8, 0xf8} /* letter resh */, + {0x05e9, 0xf9} /* letter shin */, + {0x05ea, 0xfa} /* letter tav */, + {0x200e, 0xfd} /* gauche-à-droite */, + {0x200f, 0xfe} /* droite-à-gauche */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2017, 0xdf} /* low line */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x203e, 0xaf} /* overline */, + {0x20ac, 0x80} /* euro */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_cp1255_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1255_extra[cet_ucs4_to_cp1255_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1255 = /* defined in cet.h */ +{ + cet_cs_name_cp1255, /* name of character set */ + cet_cs_alias_cp1255, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1255, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1255, /* first non standard character */ + cet_ucs4_cnt_cp1255, /* number of values in table */ + + cet_ucs4_to_cp1255_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1255_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1255_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x20ac, -1, 0x201a, 0x0192, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, -1, 0x2039, -1, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, -1, 0x203a, -1, -1, -1, -1, + 0x00a0, -1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x203e, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 0x2017, + 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7, + 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x05ea, -1, -1, 0x200e, 0x200f, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1256.h b/gpsbabel/cet/cp1256.h new file mode 100644 index 000000000..52a554e99 --- /dev/null +++ b/gpsbabel/cet/cp1256.h @@ -0,0 +1,210 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1256" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1256_h +#define cp1256_h + +#define cet_cs_name_cp1256 "CP1256" + +const char *cet_cs_alias_cp1256[] = +{ + "CP1256/CR-LF", "1256/CR-LF", "ms-arab", "windows-1256", "WIN-CP1256", + NULL +}; + +#define cet_ucs4_ofs_cp1256 128 +#define cet_ucs4_cnt_cp1256 128 + +const int cet_ucs4_map_cp1256[cet_ucs4_cnt_cp1256] = +{ + 0x20ac, 0x0660, 0x201a, 0x0661, 0x201e, 0x2026, 0x2020, 0x2021, + 0x0662, 0x0663, 0x0664, 0x2039, 0x0665, 0x0666, 0x0667, 0x0668, + 0x0669, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x061b, 0x2122, 0x061f, 0x203a, 0x0621, 0x0622, 0x0623, 0x0178, + 0x00a0, 0x0624, 0x0625, 0x00a3, 0x00a4, 0x0626, 0x00a6, 0x00a7, + 0x0627, 0x00a9, 0x0628, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x067e, + 0x00b0, 0x00b1, 0x0629, 0x062a, 0x062b, 0x00b5, 0x00b6, 0x00b7, + 0x062c, 0x0686, 0x062d, 0x00bb, 0x062e, 0x062f, 0x0630, 0x0631, + 0x00c0, 0x0632, 0x00c2, 0x0698, 0x0633, 0x0634, 0x0635, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x0636, 0x0637, 0x00ce, 0x00cf, + 0x3113, 0x0639, 0x063a, 0x0640, 0x00d4, 0x0641, 0x0642, 0x00d7, + 0x0643, 0x00d9, 0x06af, 0x00db, 0x00dc, 0x0644, 0x0645, 0x0646, + 0x00e0, 0x0647, 0x00e2, 0x0681, 0x0648, 0x0649, 0x064a, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x064b, 0x064c, 0x00ee, 0x00ef, + 0x064d, 0x064e, 0x064f, 0x0650, 0x00f4, 0x0651, 0x0652, 0x00f7, + -1, 0x00f9, -1, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x00ff +}; + +#define cet_ucs4_to_cp1256_ct 81 + +const cet_ucs4_link_t cet_ucs4_to_cp1256_links[cet_ucs4_to_cp1256_ct] = +{ + {0x0178, 0x9f} /* capital letter y with diaeresis */, + {0x061b, 0x98} /* semicolon */, + {0x061f, 0x9a} /* question mark */, + {0x0621, 0x9c} /* letter hamza */, + {0x0622, 0x9d} /* letter alef with madda above */, + {0x0623, 0x9e} /* letter alef with hamza above */, + {0x0624, 0xa1} /* letter waw with hamza above */, + {0x0625, 0xa2} /* letter alef with hamza below */, + {0x0626, 0xa5} /* letter yeh with hamza above */, + {0x0627, 0xa8} /* letter alef */, + {0x0628, 0xaa} /* letter beh */, + {0x0629, 0xb2} /* letter teh marbuta */, + {0x062a, 0xb3} /* letter teh */, + {0x062b, 0xb4} /* letter theh */, + {0x062c, 0xb8} /* letter jeem */, + {0x062d, 0xba} /* letter hah */, + {0x062e, 0xbc} /* letter khah */, + {0x062f, 0xbd} /* letter dal */, + {0x0630, 0xbe} /* letter thal */, + {0x0631, 0xbf} /* letter reh */, + {0x0632, 0xc1} /* letter zain */, + {0x0633, 0xc4} /* letter seen */, + {0x0634, 0xc5} /* letter sheen */, + {0x0635, 0xc6} /* letter sad */, + {0x0636, 0xcc} /* letter dad */, + {0x0637, 0xcd} /* letter tah */, + {0x0639, 0xd1} /* letter ain */, + {0x063a, 0xd2} /* letter ghain */, + {0x0640, 0xd3} /* tatweel */, + {0x0641, 0xd5} /* letter feh */, + {0x0642, 0xd6} /* letter qaf */, + {0x0643, 0xd8} /* letter kaf */, + {0x0644, 0xdd} /* letter lam */, + {0x0645, 0xde} /* letter meem */, + {0x0646, 0xdf} /* letter noon */, + {0x0647, 0xe1} /* letter heh */, + {0x0648, 0xe4} /* letter waw */, + {0x0649, 0xe5} /* letter alef maksura */, + {0x064a, 0xe6} /* letter yeh */, + {0x064b, 0xec} /* fathatan */, + {0x064c, 0xed} /* dammatan */, + {0x064d, 0xf0} /* kasratan */, + {0x064e, 0xf1} /* fatha */, + {0x064f, 0xf2} /* damma */, + {0x0650, 0xf3} /* kasra */, + {0x0651, 0xf5} /* shadda */, + {0x0652, 0xf6} /* sukun */, + {0x0660, 0x81} /* arabic-indic digit zero */, + {0x0661, 0x83} /* arabic-indic digit one */, + {0x0662, 0x88} /* arabic-indic digit two */, + {0x0663, 0x89} /* arabic-indic digit three */, + {0x0664, 0x8a} /* arabic-indic digit four */, + {0x0665, 0x8c} /* arabic-indic digit five */, + {0x0666, 0x8d} /* arabic-indic digit six */, + {0x0667, 0x8e} /* arabic-indic digit seven */, + {0x0668, 0x8f} /* arabic-indic digit eight */, + {0x0669, 0x90} /* arabic-indic digit nine */, + {0x067e, 0xaf} /* letter peh */, + {0x0681, 0xe3} /* arabe ha' hamza en chef */, + {0x0686, 0xb9} /* arabe tchim' */, + {0x0698, 0xc3} /* arabe ja' */, + {0x06af, 0xda} /* letter gaf */, + {0x200e, 0xfd} /* gauche-à-droite */, + {0x200f, 0xfe} /* droite-à-gauche */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x20ac, 0x80} /* euro */, + {0x2122, 0x99} /* mark sign */, + {0x3113, 0xd0} /* letter zh */ +}; + +/* +#define cet_ucs4_to_cp1256_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1256_extra[cet_ucs4_to_cp1256_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1256 = /* defined in cet.h */ +{ + cet_cs_name_cp1256, /* name of character set */ + cet_cs_alias_cp1256, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1256, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1256, /* first non standard character */ + cet_ucs4_cnt_cp1256, /* number of values in table */ + + cet_ucs4_to_cp1256_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1256_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1256_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x20ac, 0x0660, 0x201a, 0x0661, 0x201e, 0x2026, 0x2020, 0x2021, + 0x0662, 0x0663, 0x0664, 0x2039, 0x0665, 0x0666, 0x0667, 0x0668, + 0x0669, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x061b, 0x2122, 0x061f, 0x203a, 0x0621, 0x0622, 0x0623, 0x0178, + 0x00a0, 0x0624, 0x0625, 0x00a3, 0x00a4, 0x0626, 0x00a6, 0x00a7, + 0x0627, 0x00a9, 0x0628, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x067e, + 0x00b0, 0x00b1, 0x0629, 0x062a, 0x062b, 0x00b5, 0x00b6, 0x00b7, + 0x062c, 0x0686, 0x062d, 0x00bb, 0x062e, 0x062f, 0x0630, 0x0631, + 0x00c0, 0x0632, 0x00c2, 0x0698, 0x0633, 0x0634, 0x0635, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x0636, 0x0637, 0x00ce, 0x00cf, + 0x3113, 0x0639, 0x063a, 0x0640, 0x00d4, 0x0641, 0x0642, 0x00d7, + 0x0643, 0x00d9, 0x06af, 0x00db, 0x00dc, 0x0644, 0x0645, 0x0646, + 0x00e0, 0x0647, 0x00e2, 0x0681, 0x0648, 0x0649, 0x064a, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x064b, 0x064c, 0x00ee, 0x00ef, + 0x064d, 0x064e, 0x064f, 0x0650, 0x00f4, 0x0651, 0x0652, 0x00f7, + -1, 0x00f9, -1, 0x00fb, 0x00fc, 0x200e, 0x200f, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/cp1257.h b/gpsbabel/cet/cp1257.h new file mode 100644 index 000000000..070321ab2 --- /dev/null +++ b/gpsbabel/cet/cp1257.h @@ -0,0 +1,198 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CP1257" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cp1257_h +#define cp1257_h + +#define cet_cs_name_cp1257 "CP1257" + +const char *cet_cs_alias_cp1257[] = +{ + "CP1257/CR-LF", "1257/CR-LF", "WinBaltRim", "windows-1257", "WIN-CP1257", + NULL +}; + +#define cet_ucs4_ofs_cp1257 128 +#define cet_ucs4_cnt_cp1257 127 + +const int cet_ucs4_map_cp1257[cet_ucs4_cnt_cp1257] = +{ + 0x20ac, -1, 0x201a, -1, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, -1, 0x2039, -1, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, -1, 0x203a, -1, -1, -1, -1, + 0x00a0, -1, 0x00a2, 0x00a3, 0x00a4, -1, 0x00a6, 0x00a7, + 0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, -1, 0x00b5, 0x00b6, 0x00b7, + 0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6, + 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112, + 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b, + 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7, + 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df, + 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113, + 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c, + 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7, + 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e +}; + +#define cet_ucs4_to_cp1257_ct 69 + +const cet_ucs4_link_t cet_ucs4_to_cp1257_links[cet_ucs4_to_cp1257_ct] = +{ + {0x00c6, 0xaf} /* capital letter ae */, + {0x00d8, 0xa8} /* capital letter o with stroke */, + {0x00e6, 0xbf} /* small letter ae */, + {0x00f8, 0xb8} /* small letter o with stroke */, + {0x0100, 0xc2} /* capital letter a with macron */, + {0x0101, 0xe2} /* small letter a with macron */, + {0x0104, 0xc0} /* capital letter a with ogonek */, + {0x0105, 0xe0} /* small letter a with ogonek */, + {0x0106, 0xc3} /* capital letter c with acute */, + {0x0107, 0xe3} /* small letter c with acute */, + {0x010c, 0xc8} /* capital letter c with caron */, + {0x010d, 0xe8} /* small letter c with caron */, + {0x0112, 0xc7} /* capital letter e with macron */, + {0x0113, 0xe7} /* small letter e with macron */, + {0x0116, 0xcb} /* capital letter e with dot above */, + {0x0117, 0xeb} /* small letter e with dot above */, + {0x0118, 0xc6} /* capital letter e with ogonek */, + {0x0119, 0xe6} /* small letter e with ogonek */, + {0x0122, 0xcc} /* capital letter g with cedilla */, + {0x0123, 0xec} /* small letter g with cedilla */, + {0x012a, 0xce} /* capital letter i with macron */, + {0x012b, 0xee} /* small letter i with macron */, + {0x012e, 0xc1} /* capital letter i with ogonek */, + {0x012f, 0xe1} /* small letter i with ogonek */, + {0x0136, 0xcd} /* capital letter k with cedilla */, + {0x0137, 0xed} /* small letter k with cedilla */, + {0x013b, 0xcf} /* capital letter l with cedilla */, + {0x013c, 0xef} /* small letter l with cedilla */, + {0x0141, 0xd9} /* capital letter l with stroke */, + {0x0142, 0xf9} /* small letter l with stroke */, + {0x0143, 0xd1} /* capital letter n with acute */, + {0x0144, 0xf1} /* small letter n with acute */, + {0x0145, 0xd2} /* capital letter n with cedilla */, + {0x0146, 0xf2} /* small letter n with cedilla */, + {0x014c, 0xd4} /* capital letter o with macron */, + {0x014d, 0xf4} /* small letter o with macron */, + {0x0156, 0xaa} /* capital letter r with cedilla */, + {0x0157, 0xba} /* small letter r with cedilla */, + {0x015a, 0xda} /* capital letter s with acute */, + {0x015b, 0xfa} /* small letter s with acute */, + {0x0160, 0xd0} /* capital letter s with caron */, + {0x0161, 0xf0} /* small letter s with caron */, + {0x016a, 0xdb} /* capital letter u with macron */, + {0x016b, 0xfb} /* small letter u with macron */, + {0x0172, 0xd8} /* capital letter u with ogonek */, + {0x0173, 0xf8} /* small letter u with ogonek */, + {0x0179, 0xca} /* capital letter z with acute */, + {0x017a, 0xea} /* small letter z with acute */, + {0x017b, 0xdd} /* capital letter z with dot above */, + {0x017c, 0xfd} /* small letter z with dot above */, + {0x017d, 0xde} /* capital letter z with caron */, + {0x017e, 0xfe} /* small letter z with caron */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x20ac, 0x80} /* euro */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_cp1257_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cp1257_extra[cet_ucs4_to_cp1257_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cp1257 = /* defined in cet.h */ +{ + cet_cs_name_cp1257, /* name of character set */ + cet_cs_alias_cp1257, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cp1257, /* char to UCS-4 value table */ + cet_ucs4_ofs_cp1257, /* first non standard character */ + cet_ucs4_cnt_cp1257, /* number of values in table */ + + cet_ucs4_to_cp1257_links, /* UCS-4 to char links */ + cet_ucs4_to_cp1257_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cp1257_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x20ac, -1, 0x201a, -1, 0x201e, 0x2026, 0x2020, 0x2021, + -1, 0x2030, -1, 0x2039, -1, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + -1, 0x2122, -1, 0x203a, -1, -1, -1, -1, + 0x00a0, -1, 0x00a2, 0x00a3, 0x00a4, -1, 0x00a6, 0x00a7, + 0x00d8, 0x00a9, 0x0156, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00c6, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, -1, 0x00b5, 0x00b6, 0x00b7, + 0x00f8, 0x00b9, 0x0157, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00e6, + 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112, + 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b, + 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7, + 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df, + 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113, + 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c, + 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7, + 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/csa_z243_4_1985_1.h b/gpsbabel/cet/csa_z243_4_1985_1.h new file mode 100644 index 000000000..9c24e5cea --- /dev/null +++ b/gpsbabel/cet/csa_z243_4_1985_1.h @@ -0,0 +1,131 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CSA_Z243.4-1985-1" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef csa_z243_4_1985_1_h +#define csa_z243_4_1985_1_h + +#define cet_cs_name_csa_z243_4_1985_1 "CSA_Z243.4-1985-1" + +const char *cet_cs_alias_csa_z243_4_1985_1[] = +{ + "CSA_Z243.4-1985-1", "ca", "csa7-1", "ISO646-CA", + "iso-ir-121", NULL +}; + +#define cet_ucs4_ofs_csa_z243_4_1985_1 64 +#define cet_ucs4_cnt_csa_z243_4_1985_1 64 + +const int cet_ucs4_map_csa_z243_4_1985_1[cet_ucs4_cnt_csa_z243_4_1985_1] = +{ + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00e2, 0x00e7, 0x00ea, 0x00ee, 0x005f, + 0x00f4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e9, 0x00f9, 0x00e8, 0x00fb, 0x007f +}; + +#define cet_ucs4_to_csa_z243_4_1985_1_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_csa_z243_4_1985_1_links[cet_ucs4_to_csa_z243_4_1985_1_ct] = +{ + {0x00e0, 0x40} /* small letter a with grave */, + {0x00e2, 0x5b} /* small letter a with circumflex */, + {0x00e7, 0x5c} /* small letter c with cedilla */, + {0x00e8, 0x7d} /* small letter e with grave */, + {0x00e9, 0x7b} /* small letter e with acute */, + {0x00ea, 0x5d} /* small letter e with circumflex */, + {0x00ee, 0x5e} /* small letter i with circumflex */, + {0x00f4, 0x60} /* small letter o with circumflex */, + {0x00f9, 0x7c} /* small letter u with grave */, + {0x00fb, 0x7e} /* small letter u with circumflex */ +}; + +/* +#define cet_ucs4_to_csa_z243_4_1985_1_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_csa_z243_4_1985_1_extra[cet_ucs4_to_csa_z243_4_1985_1_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_csa_z243_4_1985_1 = /* defined in cet.h */ +{ + cet_cs_name_csa_z243_4_1985_1, /* name of character set */ + cet_cs_alias_csa_z243_4_1985_1, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_csa_z243_4_1985_1, /* char to UCS-4 value table */ + cet_ucs4_ofs_csa_z243_4_1985_1, /* first non standard character */ + cet_ucs4_cnt_csa_z243_4_1985_1, /* number of values in table */ + + cet_ucs4_to_csa_z243_4_1985_1_links, /* UCS-4 to char links */ + cet_ucs4_to_csa_z243_4_1985_1_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int csa_z243_4_1985_1_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00e2, 0x00e7, 0x00ea, 0x00ee, 0x005f, + 0x00f4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e9, 0x00f9, 0x00e8, 0x00fb, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/csa_z243_4_1985_2.h b/gpsbabel/cet/csa_z243_4_1985_2.h new file mode 100644 index 000000000..0d5e54bea --- /dev/null +++ b/gpsbabel/cet/csa_z243_4_1985_2.h @@ -0,0 +1,131 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CSA_Z243.4-1985-2" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef csa_z243_4_1985_2_h +#define csa_z243_4_1985_2_h + +#define cet_cs_name_csa_z243_4_1985_2 "CSA_Z243.4-1985-2" + +const char *cet_cs_alias_csa_z243_4_1985_2[] = +{ + "CSA_Z243.4-1985-2", "csa7-2", "ISO646-CA2", "iso-ir-122", + NULL +}; + +#define cet_ucs4_ofs_csa_z243_4_1985_2 64 +#define cet_ucs4_cnt_csa_z243_4_1985_2 64 + +const int cet_ucs4_map_csa_z243_4_1985_2[cet_ucs4_cnt_csa_z243_4_1985_2] = +{ + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00e2, 0x00e7, 0x00ea, 0x00c9, 0x005f, + 0x00f4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e9, 0x00f9, 0x00e8, 0x00fb, 0x007f +}; + +#define cet_ucs4_to_csa_z243_4_1985_2_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_csa_z243_4_1985_2_links[cet_ucs4_to_csa_z243_4_1985_2_ct] = +{ + {0x00c9, 0x5e} /* capital letter e with acute */, + {0x00e0, 0x40} /* small letter a with grave */, + {0x00e2, 0x5b} /* small letter a with circumflex */, + {0x00e7, 0x5c} /* small letter c with cedilla */, + {0x00e8, 0x7d} /* small letter e with grave */, + {0x00e9, 0x7b} /* small letter e with acute */, + {0x00ea, 0x5d} /* small letter e with circumflex */, + {0x00f4, 0x60} /* small letter o with circumflex */, + {0x00f9, 0x7c} /* small letter u with grave */, + {0x00fb, 0x7e} /* small letter u with circumflex */ +}; + +/* +#define cet_ucs4_to_csa_z243_4_1985_2_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_csa_z243_4_1985_2_extra[cet_ucs4_to_csa_z243_4_1985_2_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_csa_z243_4_1985_2 = /* defined in cet.h */ +{ + cet_cs_name_csa_z243_4_1985_2, /* name of character set */ + cet_cs_alias_csa_z243_4_1985_2, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_csa_z243_4_1985_2, /* char to UCS-4 value table */ + cet_ucs4_ofs_csa_z243_4_1985_2, /* first non standard character */ + cet_ucs4_cnt_csa_z243_4_1985_2, /* number of values in table */ + + cet_ucs4_to_csa_z243_4_1985_2_links, /* UCS-4 to char links */ + cet_ucs4_to_csa_z243_4_1985_2_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int csa_z243_4_1985_2_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00e2, 0x00e7, 0x00ea, 0x00c9, 0x005f, + 0x00f4, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e9, 0x00f9, 0x00e8, 0x00fb, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/csa_z243_4_1985_gr.h b/gpsbabel/cet/csa_z243_4_1985_gr.h new file mode 100644 index 000000000..32bd6053f --- /dev/null +++ b/gpsbabel/cet/csa_z243_4_1985_gr.h @@ -0,0 +1,206 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CSA_Z243.4-1985-gr" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef csa_z243_4_1985_gr_h +#define csa_z243_4_1985_gr_h + +#define cet_cs_name_csa_z243_4_1985_gr "CSA_Z243.4-1985-gr" + +const char *cet_cs_alias_csa_z243_4_1985_gr[] = +{ + "CSA_Z243.4-1985-gr", "iso-ir-123", NULL +}; + +#define cet_ucs4_ofs_csa_z243_4_1985_gr 162 +#define cet_ucs4_cnt_csa_z243_4_1985_gr 94 + +const int cet_ucs4_map_csa_z243_4_1985_gr[cet_ucs4_cnt_csa_z243_4_1985_gr] = +{ + 0x00a8, 0x00a3, 0x00a2, 0x00a5, 0x00b1, 0x00b4, 0x207d, 0x207e, + 0x00bd, 0x207a, 0x00b8, 0x00ad, 0x00b7, 0x207b, 0x2070, 0x00b9, + 0x00b2, 0x00b3, 0x2074, 0x2075, 0x2076, 0x2077, 0x2078, 0x2079, + 0x00bc, 0x00be, 0x21d0, 0x2260, 0x2265, 0x00bf, 0x00c0, 0x00c1, + 0x00c2, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cd, 0x00ce, + 0x00cf, 0x00d1, 0x00d3, 0x00d4, 0x00d9, 0x00da, 0x00db, 0x00dc, + 0x00ae, 0x00a7, 0x00b6, 0x00b5, 0x00aa, 0x00ba, 0x2018, 0x2019, + 0x201c, 0x201d, 0x00ab, 0x00bb, 0x00b0, 0x00a6, 0x00e0, 0x00e1, + 0x00e2, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ed, 0x00ee, + 0x00ef, 0x00f1, 0x00f3, 0x00f4, 0x00f9, 0x00fa, 0x00fb, 0x00fc, + 0x00a9, 0x2500, 0x2502, 0x2514, 0x2518, 0x2510, 0x250c, 0x251c, + 0x2534, 0x2524, 0x252c, 0x253c, 0x00ac, 0x2588 +}; + +#define cet_ucs4_to_csa_z243_4_1985_gr_ct 82 + +const cet_ucs4_link_t cet_ucs4_to_csa_z243_4_1985_gr_links[cet_ucs4_to_csa_z243_4_1985_gr_ct] = +{ + {0x00a2, 0xa4} /* sign */, + {0x00a6, 0xdf} /* bar */, + {0x00a7, 0xd3} /* sign */, + {0x00a8, 0xa2} /* diaeresis */, + {0x00a9, 0xf2} /* sign */, + {0x00aa, 0xd6} /* ordinal indicator */, + {0x00ab, 0xdc} /* double angle quotation mark */, + {0x00ac, 0xfe} /* sign */, + {0x00ae, 0xd2} /* sign */, + {0x00b0, 0xde} /* sign */, + {0x00b1, 0xa6} /* sign */, + {0x00b4, 0xa7} /* accent */, + {0x00b5, 0xd5} /* sign */, + {0x00b6, 0xd4} /* sign */, + {0x00b7, 0xae} /* dot */, + {0x00b8, 0xac} /* cedilla */, + {0x00b9, 0xb1} /* one */, + {0x00ba, 0xd7} /* ordinal indicator */, + {0x00bb, 0xdd} /* double angle quotation mark */, + {0x00bc, 0xba} /* fraction one quarter */, + {0x00bd, 0xaa} /* fraction one half */, + {0x00be, 0xbb} /* fraction three quarters */, + {0x00c7, 0xc3} /* capital letter c with cedilla */, + {0x00c8, 0xc4} /* capital letter e with grave */, + {0x00c9, 0xc5} /* capital letter e with acute */, + {0x00ca, 0xc6} /* capital letter e with circumflex */, + {0x00cb, 0xc7} /* capital letter e with diaeresis */, + {0x00cd, 0xc8} /* capital letter i with acute */, + {0x00ce, 0xc9} /* capital letter i with circumflex */, + {0x00cf, 0xca} /* capital letter i with diaeresis */, + {0x00d1, 0xcb} /* capital letter n with tilde */, + {0x00d3, 0xcc} /* capital letter o with acute */, + {0x00d4, 0xcd} /* capital letter o with circumflex */, + {0x00d9, 0xce} /* capital letter u with grave */, + {0x00da, 0xcf} /* capital letter u with acute */, + {0x00db, 0xd0} /* capital letter u with circumflex */, + {0x00dc, 0xd1} /* capital letter u with diaeresis */, + {0x00e7, 0xe3} /* small letter c with cedilla */, + {0x00e8, 0xe4} /* small letter e with grave */, + {0x00e9, 0xe5} /* small letter e with acute */, + {0x00ea, 0xe6} /* small letter e with circumflex */, + {0x00eb, 0xe7} /* small letter e with diaeresis */, + {0x00ed, 0xe8} /* small letter i with acute */, + {0x00ee, 0xe9} /* small letter i with circumflex */, + {0x00ef, 0xea} /* small letter i with diaeresis */, + {0x00f1, 0xeb} /* small letter n with tilde */, + {0x00f3, 0xec} /* small letter o with acute */, + {0x00f4, 0xed} /* small letter o with circumflex */, + {0x00f9, 0xee} /* small letter u with grave */, + {0x00fa, 0xef} /* small letter u with acute */, + {0x00fb, 0xf0} /* small letter u with circumflex */, + {0x00fc, 0xf1} /* small letter u with diaeresis */, + {0x2018, 0xd8} /* single quotation mark */, + {0x2019, 0xd9} /* single quotation mark */, + {0x201c, 0xda} /* double quotation mark */, + {0x201d, 0xdb} /* double quotation mark */, + {0x2070, 0xb0} /* digit zero */, + {0x2074, 0xb4} /* digit four */, + {0x2075, 0xb5} /* digit five */, + {0x2076, 0xb6} /* digit six */, + {0x2077, 0xb7} /* digit seven */, + {0x2078, 0xb8} /* digit eight */, + {0x2079, 0xb9} /* digit nine */, + {0x207a, 0xab} /* plus sign */, + {0x207b, 0xaf} /* minus */, + {0x207d, 0xa8} /* left parenthesis */, + {0x207e, 0xa9} /* right parenthesis */, + {0x21d0, 0xbc} /* double arrow */, + {0x2260, 0xbd} /* equal to */, + {0x2265, 0xbe} /* or equal to */, + {0x2500, 0xf3} /* drawings light horizontal */, + {0x2502, 0xf4} /* drawings light vertical */, + {0x250c, 0xf8} /* drawings light down and right */, + {0x2510, 0xf7} /* drawings light down and left */, + {0x2514, 0xf5} /* drawings light up and right */, + {0x2518, 0xf6} /* drawings light up and left */, + {0x251c, 0xf9} /* drawings light vertical and right */, + {0x2524, 0xfb} /* drawings light vertical and left */, + {0x252c, 0xfc} /* drawings light down and horizontal */, + {0x2534, 0xfa} /* drawings light up and horizontal */, + {0x253c, 0xfd} /* drawings light vertical and horizontal */, + {0x2588, 0xff} /* block */ +}; + +/* +#define cet_ucs4_to_csa_z243_4_1985_gr_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_csa_z243_4_1985_gr_extra[cet_ucs4_to_csa_z243_4_1985_gr_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_csa_z243_4_1985_gr = /* defined in cet.h */ +{ + cet_cs_name_csa_z243_4_1985_gr, /* name of character set */ + cet_cs_alias_csa_z243_4_1985_gr, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_csa_z243_4_1985_gr, /* char to UCS-4 value table */ + cet_ucs4_ofs_csa_z243_4_1985_gr, /* first non standard character */ + cet_ucs4_cnt_csa_z243_4_1985_gr, /* number of values in table */ + + cet_ucs4_to_csa_z243_4_1985_gr_links, /* UCS-4 to char links */ + cet_ucs4_to_csa_z243_4_1985_gr_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int csa_z243_4_1985_gr_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x00a1, 0x00a8, 0x00a3, 0x00a2, 0x00a5, 0x00b1, 0x00b4, + 0x207d, 0x207e, 0x00bd, 0x207a, 0x00b8, 0x00ad, 0x00b7, 0x207b, + 0x2070, 0x00b9, 0x00b2, 0x00b3, 0x2074, 0x2075, 0x2076, 0x2077, + 0x2078, 0x2079, 0x00bc, 0x00be, 0x21d0, 0x2260, 0x2265, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, + 0x00cd, 0x00ce, 0x00cf, 0x00d1, 0x00d3, 0x00d4, 0x00d9, 0x00da, + 0x00db, 0x00dc, 0x00ae, 0x00a7, 0x00b6, 0x00b5, 0x00aa, 0x00ba, + 0x2018, 0x2019, 0x201c, 0x201d, 0x00ab, 0x00bb, 0x00b0, 0x00a6, + 0x00e0, 0x00e1, 0x00e2, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb, + 0x00ed, 0x00ee, 0x00ef, 0x00f1, 0x00f3, 0x00f4, 0x00f9, 0x00fa, + 0x00fb, 0x00fc, 0x00a9, 0x2500, 0x2502, 0x2514, 0x2518, 0x2510, + 0x250c, 0x251c, 0x2534, 0x2524, 0x252c, 0x253c, 0x00ac, 0x2588 +}; +*/ + +#endif diff --git a/gpsbabel/cet/csn_369103.h b/gpsbabel/cet/csn_369103.h new file mode 100644 index 000000000..4b6cca844 --- /dev/null +++ b/gpsbabel/cet/csn_369103.h @@ -0,0 +1,200 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CSN_369103" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef csn_369103_h +#define csn_369103_h + +#define cet_cs_name_csn_369103 "CSN_369103" + +const char *cet_cs_alias_csn_369103[] = +{ + "CSN_369103", "iso-ir-139", "koi8l2", "KOI-8_L2", + NULL +}; + +#define cet_ucs4_ofs_csn_369103 36 +#define cet_ucs4_cnt_csn_369103 220 + +const int cet_ucs4_map_csn_369103[cet_ucs4_cnt_csn_369103] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, + 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, + 0x009c, 0x009d, 0x009e, 0x009f, 0x00a0, 0x0104, 0x02d8, 0x0141, + 0x0024, 0x013d, 0x015a, 0x00a7, 0x00a8, 0x0160, 0x015e, 0x0164, + 0x0179, 0x00ad, 0x017d, 0x017b, 0x00b0, 0x0105, 0x02db, 0x0142, + 0x00b4, 0x013e, 0x015b, 0x02c7, 0x00b8, 0x0161, 0x015f, 0x0165, + 0x017a, 0x02dd, 0x017e, 0x017c, 0x0154, 0x00c1, 0x00c2, 0x0102, + 0x00c4, 0x0139, 0x0106, 0x00c7, 0x010c, 0x00c9, 0x0118, 0x00cb, + 0x011a, 0x00cd, 0x00ce, 0x010e, 0x0110, 0x0143, 0x0147, 0x00d3, + 0x00d4, 0x0150, 0x00d6, 0x00d7, 0x0158, 0x016e, 0x00da, 0x0170, + 0x00dc, 0x00dd, 0x0162, 0x00df, 0x0155, 0x00e1, 0x00e2, 0x0103, + 0x00e4, 0x013a, 0x0107, 0x00e7, 0x010d, 0x00e9, 0x0119, 0x00eb, + 0x011b, 0x00ed, 0x00ee, 0x010f, 0x0111, 0x0144, 0x0148, 0x00f3, + 0x00f4, 0x0151, 0x00f6, 0x00f7, 0x0159, 0x016f, 0x00fa, 0x0171, + 0x00fc, 0x00fd, 0x0163, 0x02d9 +}; + +#define cet_ucs4_to_csn_369103_ct 59 + +const cet_ucs4_link_t cet_ucs4_to_csn_369103_links[cet_ucs4_to_csn_369103_ct] = +{ + {0x0024, 0xa4} /* sign */, + {0x00a4, 0x24} /* sign */, + {0x0102, 0xc3} /* capital letter a with breve */, + {0x0103, 0xe3} /* small letter a with breve */, + {0x0104, 0xa1} /* capital letter a with ogonek */, + {0x0105, 0xb1} /* small letter a with ogonek */, + {0x0106, 0xc6} /* capital letter c with acute */, + {0x0107, 0xe6} /* small letter c with acute */, + {0x010c, 0xc8} /* capital letter c with caron */, + {0x010d, 0xe8} /* small letter c with caron */, + {0x010e, 0xcf} /* capital letter d with caron */, + {0x010f, 0xef} /* small letter d with caron */, + {0x0110, 0xd0} /* capital letter d with stroke */, + {0x0111, 0xf0} /* small letter d with stroke */, + {0x0118, 0xca} /* capital letter e with ogonek */, + {0x0119, 0xea} /* small letter e with ogonek */, + {0x011a, 0xcc} /* capital letter e with caron */, + {0x011b, 0xec} /* small letter e with caron */, + {0x0139, 0xc5} /* capital letter l with acute */, + {0x013a, 0xe5} /* small letter l with acute */, + {0x013d, 0xa5} /* capital letter l with caron */, + {0x013e, 0xb5} /* small letter l with caron */, + {0x0141, 0xa3} /* capital letter l with stroke */, + {0x0142, 0xb3} /* small letter l with stroke */, + {0x0143, 0xd1} /* capital letter n with acute */, + {0x0144, 0xf1} /* small letter n with acute */, + {0x0147, 0xd2} /* capital letter n with caron */, + {0x0148, 0xf2} /* small letter n with caron */, + {0x0150, 0xd5} /* capital letter o with double acute */, + {0x0151, 0xf5} /* small letter o with double acute */, + {0x0154, 0xc0} /* capital letter r with acute */, + {0x0155, 0xe0} /* small letter r with acute */, + {0x0158, 0xd8} /* capital letter r with caron */, + {0x0159, 0xf8} /* small letter r with caron */, + {0x015a, 0xa6} /* capital letter s with acute */, + {0x015b, 0xb6} /* small letter s with acute */, + {0x015e, 0xaa} /* capital letter s with cedilla */, + {0x015f, 0xba} /* small letter s with cedilla */, + {0x0160, 0xa9} /* capital letter s with caron */, + {0x0161, 0xb9} /* small letter s with caron */, + {0x0162, 0xde} /* capital letter t with cedilla */, + {0x0163, 0xfe} /* small letter t with cedilla */, + {0x0164, 0xab} /* capital letter t with caron */, + {0x0165, 0xbb} /* small letter t with caron */, + {0x016e, 0xd9} /* capital letter u with ring above */, + {0x016f, 0xf9} /* small letter u with ring above */, + {0x0170, 0xdb} /* capital letter u with double acute */, + {0x0171, 0xfb} /* small letter u with double acute */, + {0x0179, 0xac} /* capital letter z with acute */, + {0x017a, 0xbc} /* small letter z with acute */, + {0x017b, 0xaf} /* capital letter z with dot above */, + {0x017c, 0xbf} /* small letter z with dot above */, + {0x017d, 0xae} /* capital letter z with caron */, + {0x017e, 0xbe} /* small letter z with caron */, + {0x02c7, 0xb7} /* caron */, + {0x02d8, 0xa2} /* breve */, + {0x02d9, 0xff} /* above */, + {0x02db, 0xb2} /* ogonek */, + {0x02dd, 0xbd} /* acute accent */ +}; + +/* +#define cet_ucs4_to_csn_369103_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_csn_369103_extra[cet_ucs4_to_csn_369103_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_csn_369103 = /* defined in cet.h */ +{ + cet_cs_name_csn_369103, /* name of character set */ + cet_cs_alias_csn_369103, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_csn_369103, /* char to UCS-4 value table */ + cet_ucs4_ofs_csn_369103, /* first non standard character */ + cet_ucs4_cnt_csn_369103, /* number of values in table */ + + cet_ucs4_to_csn_369103_links, /* UCS-4 to char links */ + cet_ucs4_to_csn_369103_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int csn_369103_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0104, 0x02d8, 0x0141, 0x0024, 0x013d, 0x015a, 0x00a7, + 0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b, + 0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7, + 0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c, + 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7, + 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e, + 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7, + 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df, + 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7, + 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f, + 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7, + 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9 +}; +*/ + +#endif diff --git a/gpsbabel/cet/cwi.h b/gpsbabel/cet/cwi.h new file mode 100644 index 000000000..3b5be2206 --- /dev/null +++ b/gpsbabel/cet/cwi.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "CWI" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef cwi_h +#define cwi_h + +#define cet_cs_name_cwi "CWI" + +const char *cet_cs_alias_cwi[] = +{ + "CWI", "cp-hu", "CWI-2", NULL +}; + +#define cet_ucs4_ofs_cwi 128 +#define cet_ucs4_cnt_cwi 128 + +const int cet_ucs4_map_cwi[cet_ucs4_cnt_cwi] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00cd, 0x00c4, 0x00c1, + 0x00c9, 0x00e6, 0x00c6, 0x0151, 0x00f6, 0x00d3, 0x0171, 0x00da, + 0x0170, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0xe01f, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x0150, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x03b2, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x03bc, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_cwi_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_cwi_links[cet_ucs4_to_cwi_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a2, 0x9b} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00a5, 0x9d} /* sign */, + {0x00aa, 0xa6} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b7, 0xf9} /* dot */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00bf, 0xa8} /* question mark */, + {0x00c1, 0x8f} /* capital letter a with acute */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c6, 0x92} /* capital letter ae */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00cd, 0x8d} /* capital letter i with acute */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d3, 0x95} /* capital letter o with acute */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00da, 0x97} /* capital letter u with acute */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e5, 0x86} /* small letter a with ring above */, + {0x00e6, 0x91} /* small letter ae */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x0150, 0xa7} /* capital letter o with double acute */, + {0x0151, 0x93} /* small letter o with double acute */, + {0x0170, 0x98} /* capital letter u with double acute */, + {0x0171, 0x96} /* small letter u with double acute */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b2, 0xe1} /* small letter beta */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03bc, 0xe6} /* small letter mu */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x2022, 0xfa} /* puce */, + {0x207f, 0xfc} /* latin small letter n */, + {0x20a7, 0x9e} /* sign */, + {0x2205, 0xed} /* set */, + {0x2218, 0xf8} /* operator */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2310, 0xa9} /* not sign */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */, + {0xe01f, 0x9f} /* guilder sign (ibm437 159) */ +}; + +/* +#define cet_ucs4_to_cwi_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_cwi_extra[cet_ucs4_to_cwi_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_cwi = /* defined in cet.h */ +{ + cet_cs_name_cwi, /* name of character set */ + cet_cs_alias_cwi, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_cwi, /* char to UCS-4 value table */ + cet_ucs4_ofs_cwi, /* first non standard character */ + cet_ucs4_cnt_cwi, /* number of values in table */ + + cet_ucs4_to_cwi_links, /* UCS-4 to char links */ + cet_ucs4_to_cwi_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int cwi_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00cd, 0x00c4, 0x00c1, + 0x00c9, 0x00e6, 0x00c6, 0x0151, 0x00f6, 0x00d3, 0x0171, 0x00da, + 0x0170, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0xe01f, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x0150, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x03b2, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x03bc, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/dec_mcs.h b/gpsbabel/cet/dec_mcs.h new file mode 100644 index 000000000..b7a319df8 --- /dev/null +++ b/gpsbabel/cet/dec_mcs.h @@ -0,0 +1,129 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "DEC-MCS" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef dec_mcs_h +#define dec_mcs_h + +#define cet_cs_name_dec_mcs "DEC-MCS" + +const char *cet_cs_alias_dec_mcs[] = +{ + "DEC-MCS", "dec", NULL +}; + +#define cet_ucs4_ofs_dec_mcs 160 +#define cet_ucs4_cnt_dec_mcs 94 + +const int cet_ucs4_map_dec_mcs[cet_ucs4_cnt_dec_mcs] = +{ + -1, 0x00a1, 0x00a2, 0x00a3, -1, 0x00a5, -1, 0x00a7, + 0x00a4, 0x00a9, 0x00aa, 0x00ab, -1, -1, -1, -1, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, -1, 0x00b5, 0x00b6, 0x00b7, + -1, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, -1, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + -1, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0152, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0178, -1, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + -1, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0153, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00ff +}; + +#define cet_ucs4_to_dec_mcs_ct 5 + +const cet_ucs4_link_t cet_ucs4_to_dec_mcs_links[cet_ucs4_to_dec_mcs_ct] = +{ + {0x00a4, 0xa8} /* sign */, + {0x00ff, 0xfd} /* small letter y with diaeresis */, + {0x0152, 0xd7} /* capital ligature oe */, + {0x0153, 0xf7} /* small ligature oe */, + {0x0178, 0xdd} /* capital letter y with diaeresis */ +}; + +/* +#define cet_ucs4_to_dec_mcs_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_dec_mcs_extra[cet_ucs4_to_dec_mcs_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_dec_mcs = /* defined in cet.h */ +{ + cet_cs_name_dec_mcs, /* name of character set */ + cet_cs_alias_dec_mcs, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_dec_mcs, /* char to UCS-4 value table */ + cet_ucs4_ofs_dec_mcs, /* first non standard character */ + cet_ucs4_cnt_dec_mcs, /* number of values in table */ + + cet_ucs4_to_dec_mcs_links, /* UCS-4 to char links */ + cet_ucs4_to_dec_mcs_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int dec_mcs_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + -1, 0x00a1, 0x00a2, 0x00a3, -1, 0x00a5, -1, 0x00a7, + 0x00a4, 0x00a9, 0x00aa, 0x00ab, -1, -1, -1, -1, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, -1, 0x00b5, 0x00b6, 0x00b7, + -1, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, -1, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + -1, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0152, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0178, -1, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + -1, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0153, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00ff, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/din_66003.h b/gpsbabel/cet/din_66003.h new file mode 100644 index 000000000..cd0b69d18 --- /dev/null +++ b/gpsbabel/cet/din_66003.h @@ -0,0 +1,129 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "DIN_66003" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef din_66003_h +#define din_66003_h + +#define cet_cs_name_din_66003 "DIN_66003" + +const char *cet_cs_alias_din_66003[] = +{ + "DIN_66003", "de", "ISO646-DE", "iso-ir-21", + NULL +}; + +#define cet_ucs4_ofs_din_66003 64 +#define cet_ucs4_cnt_din_66003 64 + +const int cet_ucs4_map_din_66003[cet_ucs4_cnt_din_66003] = +{ + 0x00a7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c4, 0x00d6, 0x00dc, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e4, 0x00f6, 0x00fc, 0x00df, 0x007f +}; + +#define cet_ucs4_to_din_66003_ct 8 + +const cet_ucs4_link_t cet_ucs4_to_din_66003_links[cet_ucs4_to_din_66003_ct] = +{ + {0x00a7, 0x40} /* sign */, + {0x00c4, 0x5b} /* capital letter a with diaeresis */, + {0x00d6, 0x5c} /* capital letter o with diaeresis */, + {0x00dc, 0x5d} /* capital letter u with diaeresis */, + {0x00df, 0x7e} /* small letter sharp s (german) */, + {0x00e4, 0x7b} /* small letter a with diaeresis */, + {0x00f6, 0x7c} /* small letter o with diaeresis */, + {0x00fc, 0x7d} /* small letter u with diaeresis */ +}; + +/* +#define cet_ucs4_to_din_66003_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_din_66003_extra[cet_ucs4_to_din_66003_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_din_66003 = /* defined in cet.h */ +{ + cet_cs_name_din_66003, /* name of character set */ + cet_cs_alias_din_66003, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_din_66003, /* char to UCS-4 value table */ + cet_ucs4_ofs_din_66003, /* first non standard character */ + cet_ucs4_cnt_din_66003, /* number of values in table */ + + cet_ucs4_to_din_66003_links, /* UCS-4 to char links */ + cet_ucs4_to_din_66003_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int din_66003_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00a7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c4, 0x00d6, 0x00dc, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e4, 0x00f6, 0x00fc, 0x00df, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ds_2089.h b/gpsbabel/cet/ds_2089.h new file mode 100644 index 000000000..1035225e7 --- /dev/null +++ b/gpsbabel/cet/ds_2089.h @@ -0,0 +1,124 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "DS_2089" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ds_2089_h +#define ds_2089_h + +#define cet_cs_name_ds_2089 "DS_2089" + +const char *cet_cs_alias_ds_2089[] = +{ + "DS_2089", "dk", "DS2089", "ISO646-DK", + NULL +}; + +#define cet_ucs4_ofs_ds_2089 91 +#define cet_ucs4_cnt_ds_2089 37 + +const int cet_ucs4_map_ds_2089[cet_ucs4_cnt_ds_2089] = +{ + 0x00c6, 0x00d8, 0x00c5, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00e6, 0x00f8, 0x00e5, 0x007e, 0x007f +}; + +#define cet_ucs4_to_ds_2089_ct 6 + +const cet_ucs4_link_t cet_ucs4_to_ds_2089_links[cet_ucs4_to_ds_2089_ct] = +{ + {0x00c5, 0x5d} /* capital letter a with ring above */, + {0x00c6, 0x5b} /* capital letter ae */, + {0x00d8, 0x5c} /* capital letter o with stroke */, + {0x00e5, 0x7d} /* small letter a with ring above */, + {0x00e6, 0x7b} /* small letter ae */, + {0x00f8, 0x7c} /* small letter o with stroke */ +}; + +/* +#define cet_ucs4_to_ds_2089_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ds_2089_extra[cet_ucs4_to_ds_2089_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ds_2089 = /* defined in cet.h */ +{ + cet_cs_name_ds_2089, /* name of character set */ + cet_cs_alias_ds_2089, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ds_2089, /* char to UCS-4 value table */ + cet_ucs4_ofs_ds_2089, /* first non standard character */ + cet_ucs4_cnt_ds_2089, /* number of values in table */ + + cet_ucs4_to_ds_2089_links, /* UCS-4 to char links */ + cet_ucs4_to_ds_2089_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ds_2089_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c6, 0x00d8, 0x00c5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e6, 0x00f8, 0x00e5, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ecma_cyrillic.h b/gpsbabel/cet/ecma_cyrillic.h new file mode 100644 index 000000000..dda8a7058 --- /dev/null +++ b/gpsbabel/cet/ecma_cyrillic.h @@ -0,0 +1,219 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ECMA-cyrillic" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ecma_cyrillic_h +#define ecma_cyrillic_h + +#define cet_cs_name_ecma_cyrillic "ECMA-cyrillic" + +const char *cet_cs_alias_ecma_cyrillic[] = +{ + "ECMA-cyrillic", "ECMA-113", "ECMA-113:1986", "iso-ir-111", + NULL +}; + +#define cet_ucs4_ofs_ecma_cyrillic 161 +#define cet_ucs4_cnt_ecma_cyrillic 95 + +const int cet_ucs4_map_ecma_cyrillic[cet_ucs4_cnt_ecma_cyrillic] = +{ + 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, + 0x0459, 0x045a, 0x045b, 0x045c, 0x00ad, 0x045e, 0x045f, 0x2116, + 0x0402, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, + 0x0409, 0x040a, 0x040b, 0x040c, 0x00a4, 0x040e, 0x040f, 0x044e, + 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, 0x044c, + 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, 0x042e, + 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, 0x0425, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, + 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a +}; + +#define cet_ucs4_to_ecma_cyrillic_ct 94 + +const cet_ucs4_link_t cet_ucs4_to_ecma_cyrillic_links[cet_ucs4_to_ecma_cyrillic_ct] = +{ + {0x00a4, 0xbd} /* sign */, + {0x0401, 0xb3} /* capital letter io */, + {0x0402, 0xb1} /* capital letter dje (serbocroatian) */, + {0x0403, 0xb2} /* capital letter gje (macedonian) */, + {0x0404, 0xb4} /* capital letter ukrainian ie */, + {0x0405, 0xb5} /* capital letter dze (macedonian) */, + {0x0406, 0xb6} /* capital letter byelorussian-ukrainian i */, + {0x0407, 0xb7} /* capital letter yi (ukrainian) */, + {0x0408, 0xb8} /* capital letter je */, + {0x0409, 0xb9} /* capital letter lje */, + {0x040a, 0xba} /* capital letter nje */, + {0x040b, 0xbb} /* capital letter tshe (serbocroatian) */, + {0x040c, 0xbc} /* capital letter kje (macedonian) */, + {0x040e, 0xbe} /* capital letter short u (byelorussian) */, + {0x040f, 0xbf} /* capital letter dzhe */, + {0x0410, 0xe1} /* capital letter a */, + {0x0411, 0xe2} /* capital letter be */, + {0x0412, 0xf7} /* capital letter ve */, + {0x0413, 0xe7} /* capital letter ghe */, + {0x0414, 0xe4} /* capital letter de */, + {0x0415, 0xe5} /* capital letter ie */, + {0x0416, 0xf6} /* capital letter zhe */, + {0x0417, 0xfa} /* capital letter ze */, + {0x0418, 0xe9} /* capital letter i */, + {0x0419, 0xea} /* capital letter short i */, + {0x041a, 0xeb} /* capital letter ka */, + {0x041b, 0xec} /* capital letter el */, + {0x041c, 0xed} /* capital letter em */, + {0x041d, 0xee} /* capital letter en */, + {0x041e, 0xef} /* capital letter o */, + {0x041f, 0xf0} /* capital letter pe */, + {0x0420, 0xf2} /* capital letter er */, + {0x0421, 0xf3} /* capital letter es */, + {0x0422, 0xf4} /* capital letter te */, + {0x0423, 0xf5} /* capital letter u */, + {0x0424, 0xe6} /* capital letter ef */, + {0x0425, 0xe8} /* capital letter ha */, + {0x0426, 0xe3} /* capital letter tse */, + {0x0427, 0xfe} /* capital letter che */, + {0x0428, 0xfb} /* capital letter sha */, + {0x0429, 0xfd} /* capital letter shcha */, + {0x042a, 0xff} /* capital letter hard sign */, + {0x042b, 0xf9} /* capital letter yeru */, + {0x042c, 0xf8} /* capital letter soft sign */, + {0x042d, 0xfc} /* capital letter e */, + {0x042e, 0xe0} /* capital letter yu */, + {0x042f, 0xf1} /* capital letter ya */, + {0x0430, 0xc1} /* small letter a */, + {0x0431, 0xc2} /* small letter be */, + {0x0432, 0xd7} /* small letter ve */, + {0x0433, 0xc7} /* small letter ghe */, + {0x0434, 0xc4} /* small letter de */, + {0x0435, 0xc5} /* small letter ie */, + {0x0436, 0xd6} /* small letter zhe */, + {0x0437, 0xda} /* small letter ze */, + {0x0438, 0xc9} /* small letter i */, + {0x0439, 0xca} /* small letter short i */, + {0x043a, 0xcb} /* small letter ka */, + {0x043b, 0xcc} /* small letter el */, + {0x043c, 0xcd} /* small letter em */, + {0x043d, 0xce} /* small letter en */, + {0x043e, 0xcf} /* small letter o */, + {0x043f, 0xd0} /* small letter pe */, + {0x0440, 0xd2} /* small letter er */, + {0x0441, 0xd3} /* small letter es */, + {0x0442, 0xd4} /* small letter te */, + {0x0443, 0xd5} /* small letter u */, + {0x0444, 0xc6} /* small letter ef */, + {0x0445, 0xc8} /* small letter ha */, + {0x0446, 0xc3} /* small letter tse */, + {0x0447, 0xde} /* small letter che */, + {0x0448, 0xdb} /* small letter sha */, + {0x0449, 0xdd} /* small letter shcha */, + {0x044a, 0xdf} /* small letter hard sign */, + {0x044b, 0xd9} /* small letter yeru */, + {0x044c, 0xd8} /* small letter soft sign */, + {0x044d, 0xdc} /* small letter e */, + {0x044e, 0xc0} /* small letter yu */, + {0x044f, 0xd1} /* small letter ya */, + {0x0451, 0xa3} /* small letter io */, + {0x0452, 0xa1} /* small letter dje (serbocroatian) */, + {0x0453, 0xa2} /* small letter gje (macedonian) */, + {0x0454, 0xa4} /* small letter ukrainian ie */, + {0x0455, 0xa5} /* small letter dze (macedonian) */, + {0x0456, 0xa6} /* small letter byelorussian-ukrainian i */, + {0x0457, 0xa7} /* small letter yi (ukrainian) */, + {0x0458, 0xa8} /* small letter je */, + {0x0459, 0xa9} /* small letter lje */, + {0x045a, 0xaa} /* small letter nje */, + {0x045b, 0xab} /* small letter tshe (serbocroatian) */, + {0x045c, 0xac} /* small letter kje (macedonian) */, + {0x045e, 0xae} /* small letter short u (byelorussian) */, + {0x045f, 0xaf} /* small letter dzhe */, + {0x2116, 0xb0} /* sign */ +}; + +/* +#define cet_ucs4_to_ecma_cyrillic_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ecma_cyrillic_extra[cet_ucs4_to_ecma_cyrillic_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ecma_cyrillic = /* defined in cet.h */ +{ + cet_cs_name_ecma_cyrillic, /* name of character set */ + cet_cs_alias_ecma_cyrillic, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ecma_cyrillic, /* char to UCS-4 value table */ + cet_ucs4_ofs_ecma_cyrillic, /* first non standard character */ + cet_ucs4_cnt_ecma_cyrillic, /* number of values in table */ + + cet_ucs4_to_ecma_cyrillic_links, /* UCS-4 to char links */ + cet_ucs4_to_ecma_cyrillic_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ecma_cyrillic_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0452, 0x0453, 0x0451, 0x0454, 0x0455, 0x0456, 0x0457, + 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00ad, 0x045e, 0x045f, + 0x2116, 0x0402, 0x0403, 0x0401, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00a4, 0x040e, 0x040f, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a +}; +*/ + +#endif diff --git a/gpsbabel/cet/es.h b/gpsbabel/cet/es.h new file mode 100644 index 000000000..4fd66e8a0 --- /dev/null +++ b/gpsbabel/cet/es.h @@ -0,0 +1,132 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ES" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef es_h +#define es_h + +#define cet_cs_name_es "ES" + +const char *cet_cs_alias_es[] = +{ + "ES", "ISO646-ES", "iso-ir-17", NULL +}; + +#define cet_ucs4_ofs_es 35 +#define cet_ucs4_cnt_es 93 + +const int cet_ucs4_map_es[cet_ucs4_cnt_es] = +{ + 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, + 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, + 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x00a7, 0x0041, 0x0042, + 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, + 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, + 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, + 0x00a1, 0x00d1, 0x00bf, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00b0, 0x00f1, 0x00e7, 0x007e, 0x007f +}; + +#define cet_ucs4_to_es_ct 8 + +const cet_ucs4_link_t cet_ucs4_to_es_links[cet_ucs4_to_es_ct] = +{ + {0x00a1, 0x5b} /* exclamation mark */, + {0x00a3, 0x23} /* sign */, + {0x00a7, 0x40} /* sign */, + {0x00b0, 0x7b} /* sign */, + {0x00bf, 0x5d} /* question mark */, + {0x00d1, 0x5c} /* capital letter n with tilde */, + {0x00e7, 0x7d} /* small letter c with cedilla */, + {0x00f1, 0x7c} /* small letter n with tilde */ +}; + +/* +#define cet_ucs4_to_es_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_es_extra[cet_ucs4_to_es_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_es = /* defined in cet.h */ +{ + cet_cs_name_es, /* name of character set */ + cet_cs_alias_es, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_es, /* char to UCS-4 value table */ + cet_ucs4_ofs_es, /* first non standard character */ + cet_ucs4_cnt_es, /* number of values in table */ + + cet_ucs4_to_es_links, /* UCS-4 to char links */ + cet_ucs4_to_es_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int es_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00a7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00a1, 0x00d1, 0x00bf, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00b0, 0x00f1, 0x00e7, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/es2.h b/gpsbabel/cet/es2.h new file mode 100644 index 000000000..ec3e2a91b --- /dev/null +++ b/gpsbabel/cet/es2.h @@ -0,0 +1,129 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ES2" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef es2_h +#define es2_h + +#define cet_cs_name_es2 "ES2" + +const char *cet_cs_alias_es2[] = +{ + "ES2", "ISO646-ES2", "iso-ir-85", NULL +}; + +#define cet_ucs4_ofs_es2 64 +#define cet_ucs4_cnt_es2 64 + +const int cet_ucs4_map_es2[cet_ucs4_cnt_es2] = +{ + 0x2022, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00a1, 0x00d1, 0x00c7, 0x00bf, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00b4, 0x00f1, 0x00e7, 0x00a8, 0x007f +}; + +#define cet_ucs4_to_es2_ct 9 + +const cet_ucs4_link_t cet_ucs4_to_es2_links[cet_ucs4_to_es2_ct] = +{ + {0x00a1, 0x5b} /* exclamation mark */, + {0x00a8, 0x7e} /* diaeresis */, + {0x00b4, 0x7b} /* accent */, + {0x00bf, 0x5e} /* question mark */, + {0x00c7, 0x5d} /* capital letter c with cedilla */, + {0x00d1, 0x5c} /* capital letter n with tilde */, + {0x00e7, 0x7d} /* small letter c with cedilla */, + {0x00f1, 0x7c} /* small letter n with tilde */, + {0x2022, 0x40} /* puce */ +}; + +/* +#define cet_ucs4_to_es2_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_es2_extra[cet_ucs4_to_es2_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_es2 = /* defined in cet.h */ +{ + cet_cs_name_es2, /* name of character set */ + cet_cs_alias_es2, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_es2, /* char to UCS-4 value table */ + cet_ucs4_ofs_es2, /* first non standard character */ + cet_ucs4_cnt_es2, /* number of values in table */ + + cet_ucs4_to_es2_links, /* UCS-4 to char links */ + cet_ucs4_to_es2_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int es2_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x2022, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00a1, 0x00d1, 0x00c7, 0x00bf, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00b4, 0x00f1, 0x00e7, 0x00a8, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/gb_1988_80.h b/gpsbabel/cet/gb_1988_80.h new file mode 100644 index 000000000..90cb5fbb0 --- /dev/null +++ b/gpsbabel/cet/gb_1988_80.h @@ -0,0 +1,127 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "GB_1988-80" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef gb_1988_80_h +#define gb_1988_80_h + +#define cet_cs_name_gb_1988_80 "GB_1988-80" + +const char *cet_cs_alias_gb_1988_80[] = +{ + "GB_1988-80", "cn", "csISO57GB1988", "ISO646-CN", + "iso-ir-57", NULL +}; + +#define cet_ucs4_ofs_gb_1988_80 36 +#define cet_ucs4_cnt_gb_1988_80 92 + +const int cet_ucs4_map_gb_1988_80[cet_ucs4_cnt_gb_1988_80] = +{ + 0x00a5, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, + 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x203e, 0x007f +}; + +#define cet_ucs4_to_gb_1988_80_ct 2 + +const cet_ucs4_link_t cet_ucs4_to_gb_1988_80_links[cet_ucs4_to_gb_1988_80_ct] = +{ + {0x00a5, 0x24} /* sign */, + {0x203e, 0x7e} /* overline */ +}; + +/* +#define cet_ucs4_to_gb_1988_80_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_gb_1988_80_extra[cet_ucs4_to_gb_1988_80_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_gb_1988_80 = /* defined in cet.h */ +{ + cet_cs_name_gb_1988_80, /* name of character set */ + cet_cs_alias_gb_1988_80, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_gb_1988_80, /* char to UCS-4 value table */ + cet_ucs4_ofs_gb_1988_80, /* first non standard character */ + cet_ucs4_cnt_gb_1988_80, /* number of values in table */ + + cet_ucs4_to_gb_1988_80_links, /* UCS-4 to char links */ + cet_ucs4_to_gb_1988_80_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int gb_1988_80_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a5, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/gost_19768_87.h b/gpsbabel/cet/gost_19768_87.h new file mode 100644 index 000000000..6a18ac504 --- /dev/null +++ b/gpsbabel/cet/gost_19768_87.h @@ -0,0 +1,189 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "GOST_19768-87" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef gost_19768_87_h +#define gost_19768_87_h + +#define cet_cs_name_gost_19768_87 "GOST_19768-87" + +const char *cet_cs_alias_gost_19768_87[] = +{ + "GOST_19768-87", "iso-ir-153", "ST_SEV_358-88", NULL +}; + +#define cet_ucs4_ofs_gost_19768_87 161 +#define cet_ucs4_cnt_gost_19768_87 81 + +const int cet_ucs4_map_gost_19768_87[cet_ucs4_cnt_gost_19768_87] = +{ + 0x0401, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 0x00ad, -1, -1, 0x0410, + 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, + 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 0x0420, + 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, + 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, 0x0430, + 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, + 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, 0x0440, + 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, + 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, -1, + 0x0451 +}; + +#define cet_ucs4_to_gost_19768_87_ct 66 + +const cet_ucs4_link_t cet_ucs4_to_gost_19768_87_links[cet_ucs4_to_gost_19768_87_ct] = +{ + {0x0401, 0xa1} /* capital letter io */, + {0x0410, 0xb0} /* capital letter a */, + {0x0411, 0xb1} /* capital letter be */, + {0x0412, 0xb2} /* capital letter ve */, + {0x0413, 0xb3} /* capital letter ghe */, + {0x0414, 0xb4} /* capital letter de */, + {0x0415, 0xb5} /* capital letter ie */, + {0x0416, 0xb6} /* capital letter zhe */, + {0x0417, 0xb7} /* capital letter ze */, + {0x0418, 0xb8} /* capital letter i */, + {0x0419, 0xb9} /* capital letter short i */, + {0x041a, 0xba} /* capital letter ka */, + {0x041b, 0xbb} /* capital letter el */, + {0x041c, 0xbc} /* capital letter em */, + {0x041d, 0xbd} /* capital letter en */, + {0x041e, 0xbe} /* capital letter o */, + {0x041f, 0xbf} /* capital letter pe */, + {0x0420, 0xc0} /* capital letter er */, + {0x0421, 0xc1} /* capital letter es */, + {0x0422, 0xc2} /* capital letter te */, + {0x0423, 0xc3} /* capital letter u */, + {0x0424, 0xc4} /* capital letter ef */, + {0x0425, 0xc5} /* capital letter ha */, + {0x0426, 0xc6} /* capital letter tse */, + {0x0427, 0xc7} /* capital letter che */, + {0x0428, 0xc8} /* capital letter sha */, + {0x0429, 0xc9} /* capital letter shcha */, + {0x042a, 0xca} /* capital letter hard sign */, + {0x042b, 0xcb} /* capital letter yeru */, + {0x042c, 0xcc} /* capital letter soft sign */, + {0x042d, 0xcd} /* capital letter e */, + {0x042e, 0xce} /* capital letter yu */, + {0x042f, 0xcf} /* capital letter ya */, + {0x0430, 0xd0} /* small letter a */, + {0x0431, 0xd1} /* small letter be */, + {0x0432, 0xd2} /* small letter ve */, + {0x0433, 0xd3} /* small letter ghe */, + {0x0434, 0xd4} /* small letter de */, + {0x0435, 0xd5} /* small letter ie */, + {0x0436, 0xd6} /* small letter zhe */, + {0x0437, 0xd7} /* small letter ze */, + {0x0438, 0xd8} /* small letter i */, + {0x0439, 0xd9} /* small letter short i */, + {0x043a, 0xda} /* small letter ka */, + {0x043b, 0xdb} /* small letter el */, + {0x043c, 0xdc} /* small letter em */, + {0x043d, 0xdd} /* small letter en */, + {0x043e, 0xde} /* small letter o */, + {0x043f, 0xdf} /* small letter pe */, + {0x0440, 0xe0} /* small letter er */, + {0x0441, 0xe1} /* small letter es */, + {0x0442, 0xe2} /* small letter te */, + {0x0443, 0xe3} /* small letter u */, + {0x0444, 0xe4} /* small letter ef */, + {0x0445, 0xe5} /* small letter ha */, + {0x0446, 0xe6} /* small letter tse */, + {0x0447, 0xe7} /* small letter che */, + {0x0448, 0xe8} /* small letter sha */, + {0x0449, 0xe9} /* small letter shcha */, + {0x044a, 0xea} /* small letter hard sign */, + {0x044b, 0xeb} /* small letter yeru */, + {0x044c, 0xec} /* small letter soft sign */, + {0x044d, 0xed} /* small letter e */, + {0x044e, 0xee} /* small letter yu */, + {0x044f, 0xef} /* small letter ya */, + {0x0451, 0xf1} /* small letter io */ +}; + +/* +#define cet_ucs4_to_gost_19768_87_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_gost_19768_87_extra[cet_ucs4_to_gost_19768_87_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_gost_19768_87 = /* defined in cet.h */ +{ + cet_cs_name_gost_19768_87, /* name of character set */ + cet_cs_alias_gost_19768_87, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_gost_19768_87, /* char to UCS-4 value table */ + cet_ucs4_ofs_gost_19768_87, /* first non standard character */ + cet_ucs4_cnt_gost_19768_87, /* number of values in table */ + + cet_ucs4_to_gost_19768_87_links, /* UCS-4 to char links */ + cet_ucs4_to_gost_19768_87_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int gost_19768_87_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0401, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 0x00ad, -1, -1, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, + -1, 0x0451, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/hp_roman8.h b/gpsbabel/cet/hp_roman8.h new file mode 100644 index 000000000..8663e43b8 --- /dev/null +++ b/gpsbabel/cet/hp_roman8.h @@ -0,0 +1,219 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "hp-roman8" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef hp_roman8_h +#define hp_roman8_h + +#define cet_cs_name_hp_roman8 "hp-roman8" + +const char *cet_cs_alias_hp_roman8[] = +{ + "hp-roman8", "csHPRoman8", "r8", "roman8", + NULL +}; + +#define cet_ucs4_ofs_hp_roman8 161 +#define cet_ucs4_cnt_hp_roman8 94 + +const int cet_ucs4_map_hp_roman8[cet_ucs4_cnt_hp_roman8] = +{ + 0x00c0, 0x00c2, 0x00c8, 0x00ca, 0x00cb, 0x00ce, 0x00cf, 0x00b4, + 0x02cb, 0x02c6, 0x00a8, 0x02dc, 0x00d9, 0x00db, 0x20a4, 0x00af, + 0x00dd, 0x00fd, 0x00b0, 0x00c7, 0x00e7, 0x00d1, 0x00f1, 0x00a1, + 0x00bf, 0x00a4, 0x00a3, 0x00a5, 0x00a7, 0x0192, 0x00a2, 0x00e2, + 0x00ea, 0x00f4, 0x00fb, 0x00e1, 0x00e9, 0x00f3, 0x00fa, 0x00e0, + 0x00e8, 0x00f2, 0x00f9, 0x00e4, 0x00eb, 0x00f6, 0x00fc, 0x00c5, + 0x00ee, 0x00d8, 0x00c6, 0x00e5, 0x00ed, 0x00f8, 0x00e6, 0x00c4, + 0x00ec, 0x00d6, 0x00dc, 0x00c9, 0x00ef, 0x00df, 0x00d4, 0x00c1, + 0x00c3, 0x00e3, 0x00d0, 0x00f0, 0x00cd, 0x00cc, 0x00d3, 0x00d2, + 0x00d5, 0x00f5, 0x0160, 0x0161, 0x00da, 0x0178, 0x00ff, 0x00de, + 0x00fe, 0x00b7, 0x00b5, 0x00b6, 0x00be, 0x2014, 0x00bc, 0x00bd, + 0x00aa, 0x00ba, 0x00ab, 0x25a0, 0x00bb, 0x00b1 +}; + +#define cet_ucs4_to_hp_roman8_ct 94 + +const cet_ucs4_link_t cet_ucs4_to_hp_roman8_links[cet_ucs4_to_hp_roman8_ct] = +{ + {0x00a1, 0xb8} /* exclamation mark */, + {0x00a2, 0xbf} /* sign */, + {0x00a3, 0xbb} /* sign */, + {0x00a4, 0xba} /* sign */, + {0x00a5, 0xbc} /* sign */, + {0x00a7, 0xbd} /* sign */, + {0x00a8, 0xab} /* diaeresis */, + {0x00aa, 0xf9} /* ordinal indicator */, + {0x00ab, 0xfb} /* double angle quotation mark */, + {0x00af, 0xb0} /* macron */, + {0x00b0, 0xb3} /* sign */, + {0x00b1, 0xfe} /* sign */, + {0x00b4, 0xa8} /* accent */, + {0x00b5, 0xf3} /* sign */, + {0x00b6, 0xf4} /* sign */, + {0x00b7, 0xf2} /* dot */, + {0x00ba, 0xfa} /* ordinal indicator */, + {0x00bb, 0xfd} /* double angle quotation mark */, + {0x00bc, 0xf7} /* fraction one quarter */, + {0x00bd, 0xf8} /* fraction one half */, + {0x00be, 0xf5} /* fraction three quarters */, + {0x00bf, 0xb9} /* question mark */, + {0x00c0, 0xa1} /* capital letter a with grave */, + {0x00c1, 0xe0} /* capital letter a with acute */, + {0x00c2, 0xa2} /* capital letter a with circumflex */, + {0x00c3, 0xe1} /* capital letter a with tilde */, + {0x00c4, 0xd8} /* capital letter a with diaeresis */, + {0x00c5, 0xd0} /* capital letter a with ring above */, + {0x00c6, 0xd3} /* capital letter ae */, + {0x00c7, 0xb4} /* capital letter c with cedilla */, + {0x00c8, 0xa3} /* capital letter e with grave */, + {0x00c9, 0xdc} /* capital letter e with acute */, + {0x00ca, 0xa4} /* capital letter e with circumflex */, + {0x00cb, 0xa5} /* capital letter e with diaeresis */, + {0x00cc, 0xe6} /* capital letter i with grave */, + {0x00cd, 0xe5} /* capital letter i with acute */, + {0x00ce, 0xa6} /* capital letter i with circumflex */, + {0x00cf, 0xa7} /* capital letter i with diaeresis */, + {0x00d0, 0xe3} /* capital letter eth (icelandic) */, + {0x00d1, 0xb6} /* capital letter n with tilde */, + {0x00d2, 0xe8} /* capital letter o with grave */, + {0x00d3, 0xe7} /* capital letter o with acute */, + {0x00d4, 0xdf} /* capital letter o with circumflex */, + {0x00d5, 0xe9} /* capital letter o with tilde */, + {0x00d6, 0xda} /* capital letter o with diaeresis */, + {0x00d8, 0xd2} /* capital letter o with stroke */, + {0x00d9, 0xad} /* capital letter u with grave */, + {0x00da, 0xed} /* capital letter u with acute */, + {0x00db, 0xae} /* capital letter u with circumflex */, + {0x00dc, 0xdb} /* capital letter u with diaeresis */, + {0x00dd, 0xb1} /* capital letter y with acute */, + {0x00de, 0xf0} /* capital letter thorn (icelandic) */, + {0x00df, 0xde} /* small letter sharp s (german) */, + {0x00e0, 0xc8} /* small letter a with grave */, + {0x00e1, 0xc4} /* small letter a with acute */, + {0x00e2, 0xc0} /* small letter a with circumflex */, + {0x00e3, 0xe2} /* small letter a with tilde */, + {0x00e4, 0xcc} /* small letter a with diaeresis */, + {0x00e5, 0xd4} /* small letter a with ring above */, + {0x00e6, 0xd7} /* small letter ae */, + {0x00e7, 0xb5} /* small letter c with cedilla */, + {0x00e8, 0xc9} /* small letter e with grave */, + {0x00e9, 0xc5} /* small letter e with acute */, + {0x00ea, 0xc1} /* small letter e with circumflex */, + {0x00eb, 0xcd} /* small letter e with diaeresis */, + {0x00ec, 0xd9} /* small letter i with grave */, + {0x00ed, 0xd5} /* small letter i with acute */, + {0x00ee, 0xd1} /* small letter i with circumflex */, + {0x00ef, 0xdd} /* small letter i with diaeresis */, + {0x00f0, 0xe4} /* small letter eth (icelandic) */, + {0x00f1, 0xb7} /* small letter n with tilde */, + {0x00f2, 0xca} /* small letter o with grave */, + {0x00f3, 0xc6} /* small letter o with acute */, + {0x00f4, 0xc2} /* small letter o with circumflex */, + {0x00f5, 0xea} /* small letter o with tilde */, + {0x00f6, 0xce} /* small letter o with diaeresis */, + {0x00f8, 0xd6} /* small letter o with stroke */, + {0x00f9, 0xcb} /* small letter u with grave */, + {0x00fa, 0xc7} /* small letter u with acute */, + {0x00fb, 0xc3} /* small letter u with circumflex */, + {0x00fc, 0xcf} /* small letter u with diaeresis */, + {0x00fd, 0xb2} /* small letter y with acute */, + {0x00fe, 0xf1} /* small letter thorn (icelandic) */, + {0x00ff, 0xef} /* small letter y with diaeresis */, + {0x0160, 0xeb} /* capital letter s with caron */, + {0x0161, 0xec} /* small letter s with caron */, + {0x0178, 0xee} /* capital letter y with diaeresis */, + {0x0192, 0xbe} /* minuscule latine f hameçon */, + {0x02c6, 0xaa} /* modificative accent circonflexe */, + {0x02cb, 0xa9} /* modificative accent grave */, + {0x02dc, 0xac} /* tilde */, + {0x2014, 0xf6} /* dash */, + {0x20a4, 0xaf} /* sign */, + {0x25a0, 0xfc} /* square */ +}; + +/* +#define cet_ucs4_to_hp_roman8_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_hp_roman8_extra[cet_ucs4_to_hp_roman8_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_hp_roman8 = /* defined in cet.h */ +{ + cet_cs_name_hp_roman8, /* name of character set */ + cet_cs_alias_hp_roman8, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_hp_roman8, /* char to UCS-4 value table */ + cet_ucs4_ofs_hp_roman8, /* first non standard character */ + cet_ucs4_cnt_hp_roman8, /* number of values in table */ + + cet_ucs4_to_hp_roman8_links, /* UCS-4 to char links */ + cet_ucs4_to_hp_roman8_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int hp_roman8_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x00c0, 0x00c2, 0x00c8, 0x00ca, 0x00cb, 0x00ce, 0x00cf, + 0x00b4, 0x02cb, 0x02c6, 0x00a8, 0x02dc, 0x00d9, 0x00db, 0x20a4, + 0x00af, 0x00dd, 0x00fd, 0x00b0, 0x00c7, 0x00e7, 0x00d1, 0x00f1, + 0x00a1, 0x00bf, 0x00a4, 0x00a3, 0x00a5, 0x00a7, 0x0192, 0x00a2, + 0x00e2, 0x00ea, 0x00f4, 0x00fb, 0x00e1, 0x00e9, 0x00f3, 0x00fa, + 0x00e0, 0x00e8, 0x00f2, 0x00f9, 0x00e4, 0x00eb, 0x00f6, 0x00fc, + 0x00c5, 0x00ee, 0x00d8, 0x00c6, 0x00e5, 0x00ed, 0x00f8, 0x00e6, + 0x00c4, 0x00ec, 0x00d6, 0x00dc, 0x00c9, 0x00ef, 0x00df, 0x00d4, + 0x00c1, 0x00c3, 0x00e3, 0x00d0, 0x00f0, 0x00cd, 0x00cc, 0x00d3, + 0x00d2, 0x00d5, 0x00f5, 0x0160, 0x0161, 0x00da, 0x0178, 0x00ff, + 0x00de, 0x00fe, 0x00b7, 0x00b5, 0x00b6, 0x00be, 0x2014, 0x00bc, + 0x00bd, 0x00aa, 0x00ba, 0x00ab, 0x25a0, 0x00bb, 0x00b1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm037.h b/gpsbabel/cet/ibm037.h new file mode 100644 index 000000000..67488a733 --- /dev/null +++ b/gpsbabel/cet/ibm037.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM037" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm037_h +#define ibm037_h + +#define cet_cs_name_ibm037 "IBM037" + +const char *cet_cs_alias_ibm037[] = +{ + "IBM037/CR-LF", "037/CR-LF", "CP037/CR-LF", "ebcdic-cp-ca", + "ebcdic-cp-nl", "ebcdic-cp-us", "ebcdic-cp-wt", NULL +}; + +#define cet_ucs4_ofs_ibm037 4 +#define cet_ucs4_cnt_ibm037 252 + +const int cet_ucs4_map_ibm037[cet_ucs4_cnt_ibm037] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00f1, 0x00a2, 0x002e, + 0x003c, 0x0028, 0x002b, 0x007c, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x0021, 0x0024, + 0x002a, 0x0029, 0x003b, 0x00ac, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00a6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x0023, + 0x0040, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x007e, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x005e, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x005b, 0x005d, + 0x00af, 0x00a8, 0x00b4, 0x00d7, 0x007b, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x007d, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm037_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm037_links[cet_ucs4_to_ibm037_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x5a} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x7b} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x7c} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0xba} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0xbb} /* square bracket */, + {0x005e, 0xb0} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0xc0} /* curly bracket */, + {0x007c, 0x4f} /* line */, + {0x007d, 0xd0} /* curly bracket */, + {0x007e, 0xa1} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0x4a} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x6a} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0x5f} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00af, 0xbc} /* macron */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */ +}; + +/* +#define cet_ucs4_to_ibm037_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm037_extra[cet_ucs4_to_ibm037_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm037 = /* defined in cet.h */ +{ + cet_cs_name_ibm037, /* name of character set */ + cet_cs_alias_ibm037, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm037, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm037, /* first non standard character */ + cet_ucs4_cnt_ibm037, /* number of values in table */ + + cet_ucs4_to_ibm037_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm037_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm037_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x005e, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005b, 0x005d, 0x00af, 0x00a8, 0x00b4, 0x00d7, + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm1004.h b/gpsbabel/cet/ibm1004.h new file mode 100644 index 000000000..d05fe37d8 --- /dev/null +++ b/gpsbabel/cet/ibm1004.h @@ -0,0 +1,152 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM1004" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm1004_h +#define ibm1004_h + +#define cet_cs_name_ibm1004 "IBM1004" + +const char *cet_cs_alias_ibm1004[] = +{ + "IBM1004/CR-LF", "1004/CR-LF", "CP1004/CR-LF", "os2latin1", + NULL +}; + +#define cet_ucs4_ofs_ibm1004 128 +#define cet_ucs4_cnt_ibm1004 128 + +const int cet_ucs4_map_ibm1004[cet_ucs4_cnt_ibm1004] = +{ + -1, -1, 0x201a, -1, 0x201e, 0x2026, 0x2020, 0x2021, + 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, -1, -1, 0x0178, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff +}; + +#define cet_ucs4_to_ibm1004_ct 23 + +const cet_ucs4_link_t cet_ucs4_to_ibm1004_links[cet_ucs4_to_ibm1004_ct] = +{ + {0x0152, 0x8c} /* capital ligature oe */, + {0x0153, 0x9c} /* small ligature oe */, + {0x0160, 0x8a} /* capital letter s with caron */, + {0x0161, 0x9a} /* small letter s with caron */, + {0x0178, 0x9f} /* capital letter y with diaeresis */, + {0x02c6, 0x88} /* modificative accent circonflexe */, + {0x02dc, 0x98} /* tilde */, + {0x2013, 0x96} /* dash */, + {0x2014, 0x97} /* dash */, + {0x2018, 0x91} /* single quotation mark */, + {0x2019, 0x92} /* single quotation mark */, + {0x201a, 0x82} /* low-9 quotation mark */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x94} /* double quotation mark */, + {0x201e, 0x84} /* low-9 quotation mark */, + {0x2020, 0x86} /* dagger */, + {0x2021, 0x87} /* dagger */, + {0x2022, 0x95} /* puce */, + {0x2026, 0x85} /* horizontal ellipsis */, + {0x2030, 0x89} /* mille sign */, + {0x2039, 0x8b} /* left-pointing angle quotation mark */, + {0x203a, 0x9b} /* right-pointing angle quotation mark */, + {0x2122, 0x99} /* mark sign */ +}; + +/* +#define cet_ucs4_to_ibm1004_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm1004_extra[cet_ucs4_to_ibm1004_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm1004 = /* defined in cet.h */ +{ + cet_cs_name_ibm1004, /* name of character set */ + cet_cs_alias_ibm1004, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm1004, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm1004, /* first non standard character */ + cet_ucs4_cnt_ibm1004, /* number of values in table */ + + cet_ucs4_to_ibm1004_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm1004_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm1004_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + -1, -1, 0x201a, -1, 0x201e, 0x2026, 0x2020, 0x2021, + 0x02c6, 0x2030, 0x0160, 0x2039, 0x0152, -1, -1, -1, + -1, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014, + 0x02dc, 0x2122, 0x0161, 0x203a, 0x0153, -1, -1, 0x0178, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm1026.h b/gpsbabel/cet/ibm1026.h new file mode 100644 index 000000000..8b528c365 --- /dev/null +++ b/gpsbabel/cet/ibm1026.h @@ -0,0 +1,380 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM1026" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm1026_h +#define ibm1026_h + +#define cet_cs_name_ibm1026 "IBM1026" + +const char *cet_cs_alias_ibm1026[] = +{ + "IBM1026/CR-LF", "1026/CR-LF", "CP1026/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm1026 4 +#define cet_ucs4_cnt_ibm1026 252 + +const int cet_ucs4_map_ibm1026[cet_ucs4_cnt_ibm1026] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x007b, 0x00f1, 0x00c7, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x011e, 0x0130, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x005b, 0x00d1, 0x015f, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0131, 0x003a, 0x00d6, + 0x015e, 0x0027, 0x003d, 0x00dc, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x007d, 0x0060, 0x00a6, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x02db, 0x00c6, 0x00a4, 0x00b5, 0x00f6, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x005d, 0x0024, 0x0040, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x2014, 0x00a8, 0x00b4, 0x00d7, 0x00e7, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x007e, 0x00f2, 0x00f3, 0x00f5, 0x011f, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x005c, 0x00f9, 0x00fa, 0x00ff, 0x00fc, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x0023, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x0022, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm1026_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm1026_links[cet_ucs4_to_ibm1026_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0xfc} /* mark */, + {0x0023, 0xec} /* sign */, + {0x0024, 0xad} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0xae} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x68} /* square bracket */, + {0x005c, 0xdc} /* solidus */, + {0x005d, 0xac} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x8d} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0x48} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0x8c} /* curly bracket */, + {0x007e, 0xcc} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x8e} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x4a} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0x7b} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0x7f} /* capital letter u with diaeresis */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0xc0} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xa1} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xe0} /* small letter u with diaeresis */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x011e, 0x5a} /* capital letter g with breve */, + {0x011f, 0xd0} /* small letter g with breve */, + {0x0130, 0x5b} /* capital letter i with dot above */, + {0x0131, 0x79} /* small letter i dotless */, + {0x015e, 0x7c} /* capital letter s with cedilla */, + {0x015f, 0x6a} /* small letter s with cedilla */, + {0x02db, 0x9d} /* ogonek */, + {0x2014, 0xbc} /* dash */ +}; + +/* +#define cet_ucs4_to_ibm1026_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm1026_extra[cet_ucs4_to_ibm1026_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm1026 = /* defined in cet.h */ +{ + cet_cs_name_ibm1026, /* name of character set */ + cet_cs_alias_ibm1026, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm1026, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm1026, /* first non standard character */ + cet_ucs4_cnt_ibm1026, /* number of values in table */ + + cet_ucs4_to_ibm1026_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm1026_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm1026_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x007b, 0x00f1, 0x00c7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x011e, 0x0130, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x005b, 0x00d1, 0x015f, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0131, 0x003a, 0x00d6, 0x015e, 0x0027, 0x003d, 0x00dc, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x007d, 0x0060, 0x00a6, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x02db, 0x00c6, 0x00a4, + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x005d, 0x0024, 0x0040, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x2014, 0x00a8, 0x00b4, 0x00d7, + 0x00e7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + 0x011f, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x005c, 0x00f9, 0x00fa, 0x00ff, + 0x00fc, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0023, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x0022, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm1047.h b/gpsbabel/cet/ibm1047.h new file mode 100644 index 000000000..21447e1fb --- /dev/null +++ b/gpsbabel/cet/ibm1047.h @@ -0,0 +1,380 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM1047" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm1047_h +#define ibm1047_h + +#define cet_cs_name_ibm1047 "IBM1047" + +const char *cet_cs_alias_ibm1047[] = +{ + "IBM1047/CR-LF", "1047/CR-LF", "CP1047/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm1047 4 +#define cet_ucs4_cnt_ibm1047 252 + +const int cet_ucs4_map_ibm1047[cet_ucs4_cnt_ibm1047] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00f1, 0x00a2, 0x002e, + 0x003c, 0x0028, 0x002b, 0x007c, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x0021, 0x0024, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00a6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x0023, + 0x0040, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x007e, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x005b, 0x00de, 0x00ae, 0x00ac, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00dd, 0x00a8, + 0x00af, 0x005d, 0x00b4, 0x00d7, 0x007b, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x007d, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm1047_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm1047_links[cet_ucs4_to_ibm1047_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x5a} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x7b} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x7c} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0xad} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0xbd} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0xc0} /* curly bracket */, + {0x007c, 0x4f} /* line */, + {0x007d, 0xd0} /* curly bracket */, + {0x007e, 0xa1} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0x4a} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x6a} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbb} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xb0} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00af, 0xbc} /* macron */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xba} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */ +}; + +/* +#define cet_ucs4_to_ibm1047_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm1047_extra[cet_ucs4_to_ibm1047_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm1047 = /* defined in cet.h */ +{ + cet_cs_name_ibm1047, /* name of character set */ + cet_cs_alias_ibm1047, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm1047, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm1047, /* first non standard character */ + cet_ucs4_cnt_ibm1047, /* number of values in table */ + + cet_ucs4_to_ibm1047_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm1047_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm1047_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00a2, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x005b, 0x00de, 0x00ae, + 0x00ac, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00dd, 0x00a8, 0x00af, 0x005d, 0x00b4, 0x00d7, + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm256.h b/gpsbabel/cet/ibm256.h new file mode 100644 index 000000000..dc7a683c2 --- /dev/null +++ b/gpsbabel/cet/ibm256.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM256" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm256_h +#define ibm256_h + +#define cet_cs_name_ibm256 "IBM256" + +const char *cet_cs_alias_ibm256[] = +{ + "IBM256/CR-LF", "256/CR-LF", "CP256/CR-LF", "EBCDIC-INT1", + NULL +}; + +#define cet_ucs4_ofs_ibm256 4 +#define cet_ucs4_cnt_ibm256 252 + +const int cet_ucs4_map_ibm256[cet_ucs4_cnt_ibm256] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00f1, 0x005b, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x005d, 0x0024, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00a6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x0023, + 0x0040, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x007e, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x20a7, + 0x0192, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x203e, 0x00a8, 0x00b4, 0x2017, 0x007b, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x007d, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x2003, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm256_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm256_links[cet_ucs4_to_ibm256_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x7b} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x7c} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x4a} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0x5a} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0xc0} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0xd0} /* curly bracket */, + {0x007e, 0xa1} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x6a} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x0192, 0xb4} /* minuscule latine f hameçon */, + {0x2003, 0xe1} /* space */, + {0x2017, 0xbf} /* low line */, + {0x203e, 0xbc} /* overline */, + {0x20a7, 0xb3} /* sign */ +}; + +/* +#define cet_ucs4_to_ibm256_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm256_extra[cet_ucs4_to_ibm256_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm256 = /* defined in cet.h */ +{ + cet_cs_name_ibm256, /* name of character set */ + cet_cs_alias_ibm256, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm256, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm256, /* first non standard character */ + cet_ucs4_cnt_ibm256, /* number of values in table */ + + cet_ucs4_to_ibm256_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm256_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm256_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x203e, 0x00a8, 0x00b4, 0x2017, + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x2003, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm273.h b/gpsbabel/cet/ibm273.h new file mode 100644 index 000000000..83794b1e8 --- /dev/null +++ b/gpsbabel/cet/ibm273.h @@ -0,0 +1,380 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM273" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm273_h +#define ibm273_h + +#define cet_cs_name_ibm273 "IBM273" + +const char *cet_cs_alias_ibm273[] = +{ + "IBM273/CR-LF", "273/CR-LF", "CP273/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm273 4 +#define cet_ucs4_cnt_ibm273 252 + +const int cet_ucs4_map_ibm273[cet_ucs4_cnt_ibm273] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x007b, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00f1, 0x00c4, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x007e, 0x00dc, 0x0024, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x005b, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00f6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x0023, + 0x00a7, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x00df, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x0040, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x203e, 0x00a8, 0x00b4, 0x00d7, 0x00e4, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00a6, 0x00f2, 0x00f3, 0x00f5, 0x00fc, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x007d, 0x00f9, 0x00fa, 0x00ff, 0x00d6, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x005c, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x005d, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm273_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm273_links[cet_ucs4_to_ibm273_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x7b} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0xb5} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x63} /* square bracket */, + {0x005c, 0xec} /* solidus */, + {0x005d, 0xfc} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0x43} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0xdc} /* curly bracket */, + {0x007e, 0x59} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0xcc} /* bar */, + {0x00a7, 0x7c} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x4a} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xe0} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0x5a} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0xa1} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0xc0} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0x6a} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xd0} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x203e, 0xbc} /* overline */ +}; + +/* +#define cet_ucs4_to_ibm273_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm273_extra[cet_ucs4_to_ibm273_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm273 = /* defined in cet.h */ +{ + cet_cs_name_ibm273, /* name of character set */ + cet_cs_alias_ibm273, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm273, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm273, /* first non standard character */ + cet_ucs4_cnt_ibm273, /* number of values in table */ + + cet_ucs4_to_ibm273_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm273_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm273_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00c4, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x007e, 0x00dc, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x005b, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x00a7, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x00df, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x203e, 0x00a8, 0x00b4, 0x00d7, + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + 0x00fc, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007d, 0x00f9, 0x00fa, 0x00ff, + 0x00d6, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005c, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x005d, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm277.h b/gpsbabel/cet/ibm277.h new file mode 100644 index 000000000..cd6f21d1a --- /dev/null +++ b/gpsbabel/cet/ibm277.h @@ -0,0 +1,380 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM277" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm277_h +#define ibm277_h + +#define cet_cs_name_ibm277 "IBM277" + +const char *cet_cs_alias_ibm277[] = +{ + "IBM277/CR-LF", "EBCDIC-CP-DK", "EBCDIC-CP-NO", NULL +}; + +#define cet_ucs4_ofs_ibm277 4 +#define cet_ucs4_cnt_ibm277 252 + +const int cet_ucs4_map_ibm277[cet_ucs4_cnt_ibm277] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x007d, 0x00e7, 0x00f1, 0x0023, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x00a4, 0x00c5, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x0024, 0x00c7, 0x00d1, 0x00f8, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00a6, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x00c6, + 0x00d8, 0x0027, 0x003d, 0x0022, 0x0040, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x007b, 0x00b8, 0x005b, 0x005d, 0x00b5, 0x00fc, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x203e, 0x00a8, 0x00b4, 0x00d7, 0x00e6, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x00e5, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x007e, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm277_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm277_links[cet_ucs4_to_ibm277_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x4a} /* sign */, + {0x0024, 0x67} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x80} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x9e} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0x9f} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0x9c} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0x47} /* curly bracket */, + {0x007e, 0xdc} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x5a} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x70} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x5b} /* capital letter a with ring above */, + {0x00c6, 0x7b} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x7c} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0xd0} /* small letter a with ring above */, + {0x00e6, 0xc0} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x6a} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xa1} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x203e, 0xbc} /* overline */ +}; + +/* +#define cet_ucs4_to_ibm277_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm277_extra[cet_ucs4_to_ibm277_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm277 = /* defined in cet.h */ +{ + cet_cs_name_ibm277, /* name of character set */ + cet_cs_alias_ibm277, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm277, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm277, /* first non standard character */ + cet_ucs4_cnt_ibm277, /* number of values in table */ + + cet_ucs4_to_ibm277_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm277_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm277_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x0023, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f8, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00a6, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00c6, 0x00d8, 0x0027, 0x003d, 0x0022, + 0x0040, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007b, 0x00b8, 0x005b, 0x005d, + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x203e, 0x00a8, 0x00b4, 0x00d7, + 0x00e6, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm278.h b/gpsbabel/cet/ibm278.h new file mode 100644 index 000000000..c42b9086f --- /dev/null +++ b/gpsbabel/cet/ibm278.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM278" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm278_h +#define ibm278_h + +#define cet_cs_name_ibm278 "IBM278" + +const char *cet_cs_alias_ibm278[] = +{ + "IBM278/CR-LF", "278/CR-LF", "CP278/CR-LF", "ebcdic-cp-fi", + "ebcdic-cp-se", NULL +}; + +#define cet_ucs4_ofs_ibm278 4 +#define cet_ucs4_cnt_ibm278 252 + +const int cet_ucs4_map_ibm278[cet_ucs4_cnt_ibm278] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x007b, + 0x00e0, 0x00e1, 0x00e3, 0x007d, 0x00e7, 0x00f1, 0x00a7, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x0060, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x00a4, 0x00c5, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x0023, + 0x00c0, 0x00c1, 0x00c3, 0x0024, 0x00c7, 0x00d1, 0x00f6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00e9, 0x003a, 0x00c4, + 0x00d6, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x005d, 0x00b5, 0x00fc, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x005b, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x203e, 0x00a8, 0x00b4, 0x00d7, 0x00e4, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00a6, 0x00f2, 0x00f3, 0x00f5, 0x00e5, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x007e, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x0040, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm278_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm278_links[cet_ucs4_to_ibm278_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x63} /* sign */, + {0x0024, 0x67} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0xec} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0xb5} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0x9f} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x51} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0x43} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0x47} /* curly bracket */, + {0x007e, 0xdc} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x5a} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0xcc} /* bar */, + {0x00a7, 0x4a} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x7b} /* capital letter a with diaeresis */, + {0x00c5, 0x5b} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0x7c} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0xc0} /* small letter a with diaeresis */, + {0x00e5, 0xd0} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x79} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0x6a} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xa1} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x203e, 0xbc} /* overline */ +}; + +/* +#define cet_ucs4_to_ibm278_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm278_extra[cet_ucs4_to_ibm278_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm278 = /* defined in cet.h */ +{ + cet_cs_name_ibm278, /* name of character set */ + cet_cs_alias_ibm278, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm278, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm278, /* first non standard character */ + cet_ucs4_cnt_ibm278, /* number of values in table */ + + cet_ucs4_to_ibm278_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm278_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm278_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x007b, 0x00e0, 0x00e1, 0x00e3, 0x007d, + 0x00e7, 0x00f1, 0x00a7, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x0060, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a4, 0x00c5, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x0023, 0x00c0, 0x00c1, 0x00c3, 0x0024, + 0x00c7, 0x00d1, 0x00f6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00e9, 0x003a, 0x00c4, 0x00d6, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x005d, + 0x00b5, 0x00fc, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x005b, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x203e, 0x00a8, 0x00b4, 0x00d7, + 0x00e4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00a6, 0x00f2, 0x00f3, 0x00f5, + 0x00e5, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x007e, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x0040, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm280.h b/gpsbabel/cet/ibm280.h new file mode 100644 index 000000000..d996ae182 --- /dev/null +++ b/gpsbabel/cet/ibm280.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM280" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm280_h +#define ibm280_h + +#define cet_cs_name_ibm280 "IBM280" + +const char *cet_cs_alias_ibm280[] = +{ + "IBM280/CR-LF", "280/CR-LF", "CP280/CR-LF", "ebcdic-cp-it", + NULL +}; + +#define cet_ucs4_ofs_ibm280 4 +#define cet_ucs4_cnt_ibm280 252 + +const int cet_ucs4_map_ibm280[cet_ucs4_cnt_ibm280] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x007b, 0x00e1, 0x00e3, 0x00e5, 0x005c, 0x00f1, 0x00b0, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x005d, 0x00ea, 0x00eb, + 0x007d, 0x00ed, 0x00ee, 0x00ef, 0x007e, 0x00df, 0x00e9, 0x0024, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00f2, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00f9, 0x003a, 0x00a3, + 0x00a7, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x005b, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x00ec, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x0023, 0x00a5, 0x00b7, + 0x00a9, 0x0040, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x203e, 0x00a8, 0x00b4, 0x00d7, 0x00e0, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00a6, 0x00f3, 0x00f5, 0x00e8, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x0060, 0x00fa, 0x00ff, 0x00e7, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm280_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm280_links[cet_ucs4_to_ibm280_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0xb1} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0xb5} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x90} /* square bracket */, + {0x005c, 0x48} /* solidus */, + {0x005d, 0x51} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0xdd} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0x44} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0x54} /* curly bracket */, + {0x007e, 0x58} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0x7b} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0xcd} /* bar */, + {0x00a7, 0x7c} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x4a} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0xc0} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0xe0} /* small letter c with cedilla */, + {0x00e8, 0xd0} /* small letter e with grave */, + {0x00e9, 0x5a} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0xa1} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0x6a} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0x79} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x203e, 0xbc} /* overline */ +}; + +/* +#define cet_ucs4_to_ibm280_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm280_extra[cet_ucs4_to_ibm280_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm280 = /* defined in cet.h */ +{ + cet_cs_name_ibm280, /* name of character set */ + cet_cs_alias_ibm280, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm280, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm280, /* first non standard character */ + cet_ucs4_cnt_ibm280, /* number of values in table */ + + cet_ucs4_to_ibm280_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm280_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm280_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x007b, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x005d, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x007e, 0x00df, 0x00e9, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f2, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f9, 0x003a, 0x00a3, 0x00a7, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x00ec, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x0040, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x203e, 0x00a8, 0x00b4, 0x00d7, + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00a6, 0x00f3, 0x00f5, + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x0060, 0x00fa, 0x00ff, + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm284.h b/gpsbabel/cet/ibm284.h new file mode 100644 index 000000000..e3ba3f519 --- /dev/null +++ b/gpsbabel/cet/ibm284.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM284" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm284_h +#define ibm284_h + +#define cet_cs_name_ibm284 "IBM284" + +const char *cet_cs_alias_ibm284[] = +{ + "IBM284/CR-LF", "284/CR-LF", "CP284/CR-LF", "ebcdic-cp-es", + NULL +}; + +#define cet_ucs4_ofs_ibm284 4 +#define cet_ucs4_cnt_ibm284 252 + +const int cet_ucs4_map_ibm284[cet_ucs4_cnt_ibm284] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00a6, 0x005b, 0x002e, + 0x003c, 0x0028, 0x002b, 0x007c, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x005d, 0x0024, + 0x002a, 0x0029, 0x003b, 0x00ac, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x0023, 0x00f1, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x00d1, + 0x0040, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x00a8, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x005e, 0x0021, + 0x203e, 0x007e, 0x00b4, 0x00d7, 0x007b, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x007d, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm284_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm284_links[cet_ucs4_to_ibm284_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0xbb} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x69} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x7c} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x4a} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0x5a} /* square bracket */, + {0x005e, 0xba} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0xc0} /* curly bracket */, + {0x007c, 0x4f} /* line */, + {0x007d, 0xd0} /* curly bracket */, + {0x007e, 0xbd} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x49} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xa1} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0x5f} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x7b} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x6a} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x203e, 0xbc} /* overline */ +}; + +/* +#define cet_ucs4_to_ibm284_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm284_extra[cet_ucs4_to_ibm284_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm284 = /* defined in cet.h */ +{ + cet_cs_name_ibm284, /* name of character set */ + cet_cs_alias_ibm284, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm284, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm284, /* first non standard character */ + cet_ucs4_cnt_ibm284, /* number of values in table */ + + cet_ucs4_to_ibm284_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm284_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm284_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00a6, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x00ac, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x0023, 0x00f1, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x00d1, 0x0040, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x0021, 0x203e, 0x007e, 0x00b4, 0x00d7, + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm285.h b/gpsbabel/cet/ibm285.h new file mode 100644 index 000000000..3c63f684a --- /dev/null +++ b/gpsbabel/cet/ibm285.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM285" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm285_h +#define ibm285_h + +#define cet_cs_name_ibm285 "IBM285" + +const char *cet_cs_alias_ibm285[] = +{ + "IBM285/CR-LF", "285/CR-LF", "CP285/CR-LF", "ebcdic-cp-gb", + NULL +}; + +#define cet_ucs4_ofs_ibm285 4 +#define cet_ucs4_cnt_ibm285 252 + +const int cet_ucs4_map_ibm285[cet_ucs4_cnt_ibm285] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00f1, 0x0024, 0x002e, + 0x003c, 0x0028, 0x002b, 0x007c, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x0021, 0x00a3, + 0x002a, 0x0029, 0x003b, 0x00ac, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00a6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x0023, + 0x0040, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x203e, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x005b, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x005e, 0x005d, + 0x007e, 0x00a8, 0x00b4, 0x00d7, 0x007b, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x007d, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm285_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm285_links[cet_ucs4_to_ibm285_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x5a} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x7b} /* sign */, + {0x0024, 0x4a} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x7c} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0xb1} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0xbb} /* square bracket */, + {0x005e, 0xba} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0xc0} /* curly bracket */, + {0x007c, 0x4f} /* line */, + {0x007d, 0xd0} /* curly bracket */, + {0x007e, 0xbc} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0x5b} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x6a} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0x5f} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x203e, 0xa1} /* overline */ +}; + +/* +#define cet_ucs4_to_ibm285_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm285_extra[cet_ucs4_to_ibm285_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm285 = /* defined in cet.h */ +{ + cet_cs_name_ibm285, /* name of character set */ + cet_cs_alias_ibm285, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm285, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm285, /* first non standard character */ + cet_ucs4_cnt_ibm285, /* number of values in table */ + + cet_ucs4_to_ibm285_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm285_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm285_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x0024, 0x002e, 0x003c, 0x0028, 0x002b, 0x007c, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x0021, 0x00a3, 0x002a, 0x0029, 0x003b, 0x00ac, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x203e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x005b, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x005e, 0x005d, 0x007e, 0x00a8, 0x00b4, 0x00d7, + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm297.h b/gpsbabel/cet/ibm297.h new file mode 100644 index 000000000..db48e9a5c --- /dev/null +++ b/gpsbabel/cet/ibm297.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM297" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm297_h +#define ibm297_h + +#define cet_cs_name_ibm297 "IBM297" + +const char *cet_cs_alias_ibm297[] = +{ + "IBM297/CR-LF", "297/CR-LF", "CP297/CR-LF", "ebcdic-cp-fr", + NULL +}; + +#define cet_ucs4_ofs_ibm297 4 +#define cet_ucs4_cnt_ibm297 252 + +const int cet_ucs4_map_ibm297[cet_ucs4_cnt_ibm297] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x0040, 0x00e1, 0x00e3, 0x00e5, 0x005c, 0x00f1, 0x00b0, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x007b, 0x00ea, 0x00eb, + 0x007d, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x00a7, 0x0024, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00f9, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00b5, 0x003a, 0x00a3, + 0x00e0, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x005b, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x0060, 0x00a8, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x0023, 0x00a5, 0x00b7, + 0x00a9, 0x005d, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x203e, 0x007e, 0x00b4, 0x00d7, 0x00e9, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x00e8, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00a6, 0x00fa, 0x00ff, 0x00e7, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm297_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm297_links[cet_ucs4_to_ibm297_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0xb1} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x44} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x90} /* square bracket */, + {0x005c, 0x48} /* solidus */, + {0x005d, 0xb5} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0xa0} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0x51} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0x54} /* curly bracket */, + {0x007e, 0xbd} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0x7b} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0xdd} /* bar */, + {0x00a7, 0x5a} /* sign */, + {0x00a8, 0xa1} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00b0, 0x4a} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0x79} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x7c} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0xe0} /* small letter c with cedilla */, + {0x00e8, 0xd0} /* small letter e with grave */, + {0x00e9, 0xc0} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0x6a} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */, + {0x203e, 0xbc} /* overline */ +}; + +/* +#define cet_ucs4_to_ibm297_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm297_extra[cet_ucs4_to_ibm297_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm297 = /* defined in cet.h */ +{ + cet_cs_name_ibm297, /* name of character set */ + cet_cs_alias_ibm297, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm297, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm297, /* first non standard character */ + cet_ucs4_cnt_ibm297, /* number of values in table */ + + cet_ucs4_to_ibm297_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm297_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm297_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x0040, 0x00e1, 0x00e3, 0x00e5, + 0x005c, 0x00f1, 0x00b0, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x007b, 0x00ea, 0x00eb, 0x007d, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00a7, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00f9, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00b5, 0x003a, 0x00a3, 0x00e0, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x005b, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x0060, 0x00a8, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x0023, 0x00a5, 0x00b7, 0x00a9, 0x005d, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x203e, 0x007e, 0x00b4, 0x00d7, + 0x00e9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x00e8, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00a6, 0x00fa, 0x00ff, + 0x00e7, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm437.h b/gpsbabel/cet/ibm437.h new file mode 100644 index 000000000..173828cca --- /dev/null +++ b/gpsbabel/cet/ibm437.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM437" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm437_h +#define ibm437_h + +#define cet_cs_name_ibm437 "IBM437" + +const char *cet_cs_alias_ibm437[] = +{ + "IBM437/CR-LF", "437/CR-LF", "CP437/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm437 128 +#define cet_ucs4_cnt_ibm437 128 + +const int cet_ucs4_map_ibm437[cet_ucs4_cnt_ibm437] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm437_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_ibm437_links[cet_ucs4_to_ibm437_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a2, 0x9b} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00a5, 0x9d} /* sign */, + {0x00aa, 0xa6} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b5, 0xe6} /* sign */, + {0x00b7, 0xf9} /* dot */, + {0x00ba, 0xa7} /* ordinal indicator */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00bf, 0xa8} /* question mark */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c5, 0x8f} /* capital letter a with ring above */, + {0x00c6, 0x92} /* capital letter ae */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e5, 0x86} /* small letter a with ring above */, + {0x00e6, 0x91} /* small letter ae */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ec, 0x8d} /* small letter i with grave */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f2, 0x95} /* small letter o with grave */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00ff, 0x98} /* small letter y with diaeresis */, + {0x0192, 0x9f} /* minuscule latine f hameçon */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x03c6, 0xed} /* small letter phi */, + {0x2022, 0xfa} /* puce */, + {0x207f, 0xfc} /* latin small letter n */, + {0x20a7, 0x9e} /* sign */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2310, 0xa9} /* not sign */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm437_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm437_extra[cet_ucs4_to_ibm437_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm437 = /* defined in cet.h */ +{ + cet_cs_name_ibm437, /* name of character set */ + cet_cs_alias_ibm437, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm437, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm437, /* first non standard character */ + cet_ucs4_cnt_ibm437, /* number of values in table */ + + cet_ucs4_to_ibm437_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm437_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm437_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00a2, 0x00a3, 0x00a5, 0x20a7, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm500.h b/gpsbabel/cet/ibm500.h new file mode 100644 index 000000000..d023dd89f --- /dev/null +++ b/gpsbabel/cet/ibm500.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM500" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm500_h +#define ibm500_h + +#define cet_cs_name_ibm500 "IBM500" + +const char *cet_cs_alias_ibm500[] = +{ + "IBM500/CR-LF", "500/CR-LF", "500V1", "CP500/CR-LF", + "ebcdic-cp-be", "ebcdic-cp-ch", NULL +}; + +#define cet_ucs4_ofs_ibm500 4 +#define cet_ucs4_cnt_ibm500 252 + +const int cet_ucs4_map_ibm500[cet_ucs4_cnt_ibm500] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00f1, 0x005b, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x005d, 0x0024, + 0x002a, 0x0029, 0x003b, 0x005e, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00a6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x0060, 0x003a, 0x0023, + 0x0040, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x00f0, 0x00fd, 0x00fe, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x00e6, 0x00b8, 0x00c6, 0x00a4, 0x00b5, 0x007e, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x00d0, 0x00dd, 0x00de, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x00af, 0x00a8, 0x00b4, 0x00d7, 0x007b, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x00f6, 0x00f2, 0x00f3, 0x00f5, 0x007d, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00f9, 0x00fa, 0x00ff, 0x005c, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x00d6, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm500_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm500_links[cet_ucs4_to_ibm500_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x7b} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0x7c} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0x4a} /* square bracket */, + {0x005c, 0xe0} /* solidus */, + {0x005d, 0x5a} /* square bracket */, + {0x005e, 0x5f} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x79} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0xc0} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0xd0} /* curly bracket */, + {0x007e, 0xa1} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x6a} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00af, 0xbc} /* macron */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xbe} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x9e} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0xac} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0xec} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xae} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0x9c} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xcc} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x8e} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */ +}; + +/* +#define cet_ucs4_to_ibm500_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm500_extra[cet_ucs4_to_ibm500_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm500 = /* defined in cet.h */ +{ + cet_cs_name_ibm500, /* name of character set */ + cet_cs_alias_ibm500, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm500, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm500, /* first non standard character */ + cet_ucs4_cnt_ibm500, /* number of values in table */ + + cet_ucs4_to_ibm500_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm500_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm500_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x005b, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x005d, 0x0024, 0x002a, 0x0029, 0x003b, 0x005e, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x0060, 0x003a, 0x0023, 0x0040, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x00f0, 0x00fd, 0x00fe, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x00e6, 0x00b8, 0x00c6, 0x00a4, + 0x00b5, 0x007e, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x00d0, 0x00dd, 0x00de, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x00b4, 0x00d7, + 0x007b, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x00f6, 0x00f2, 0x00f3, 0x00f5, + 0x007d, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + 0x005c, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x00d6, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm850.h b/gpsbabel/cet/ibm850.h new file mode 100644 index 000000000..30a039be9 --- /dev/null +++ b/gpsbabel/cet/ibm850.h @@ -0,0 +1,257 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM850" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm850_h +#define ibm850_h + +#define cet_cs_name_ibm850 "IBM850" + +const char *cet_cs_alias_ibm850[] = +{ + "IBM850/CR-LF", "850/CR-LF", "CP850/CR-LF", "csPC850Multilingual", + NULL +}; + +#define cet_ucs4_ofs_ibm850 128 +#define cet_ucs4_cnt_ibm850 128 + +const int cet_ucs4_map_ibm850[cet_ucs4_cnt_ibm850] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0, + 0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x0131, 0x00cd, 0x00ce, + 0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580, + 0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe, + 0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4, + 0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8, + 0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm850_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_ibm850_links[cet_ucs4_to_ibm850_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a2, 0xbd} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00a4, 0xcf} /* sign */, + {0x00a5, 0xbe} /* sign */, + {0x00a6, 0xdd} /* bar */, + {0x00a7, 0xf5} /* sign */, + {0x00a8, 0xf9} /* diaeresis */, + {0x00a9, 0xb8} /* sign */, + {0x00aa, 0xa6} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00ad, 0xf0} /* hyphen */, + {0x00ae, 0xa9} /* sign */, + {0x00af, 0xee} /* macron */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b3, 0xfc} /* three */, + {0x00b4, 0xef} /* accent */, + {0x00b5, 0xe6} /* sign */, + {0x00b6, 0xf4} /* sign */, + {0x00b7, 0xfa} /* dot */, + {0x00b8, 0xf7} /* cedilla */, + {0x00b9, 0xfb} /* one */, + {0x00ba, 0xa7} /* ordinal indicator */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00be, 0xf3} /* fraction three quarters */, + {0x00bf, 0xa8} /* question mark */, + {0x00c0, 0xb7} /* capital letter a with grave */, + {0x00c1, 0xb5} /* capital letter a with acute */, + {0x00c2, 0xb6} /* capital letter a with circumflex */, + {0x00c3, 0xc7} /* capital letter a with tilde */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c5, 0x8f} /* capital letter a with ring above */, + {0x00c6, 0x92} /* capital letter ae */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c8, 0xd4} /* capital letter e with grave */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00ca, 0xd2} /* capital letter e with circumflex */, + {0x00cb, 0xd3} /* capital letter e with diaeresis */, + {0x00cc, 0xde} /* capital letter i with grave */, + {0x00cd, 0xd6} /* capital letter i with acute */, + {0x00ce, 0xd7} /* capital letter i with circumflex */, + {0x00cf, 0xd8} /* capital letter i with diaeresis */, + {0x00d0, 0xd1} /* capital letter eth (icelandic) */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d2, 0xe3} /* capital letter o with grave */, + {0x00d3, 0xe0} /* capital letter o with acute */, + {0x00d4, 0xe2} /* capital letter o with circumflex */, + {0x00d5, 0xe5} /* capital letter o with tilde */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00d7, 0x9e} /* sign */, + {0x00d8, 0x9d} /* capital letter o with stroke */, + {0x00d9, 0xeb} /* capital letter u with grave */, + {0x00da, 0xe9} /* capital letter u with acute */, + {0x00db, 0xea} /* capital letter u with circumflex */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00dd, 0xed} /* capital letter y with acute */, + {0x00de, 0xe8} /* capital letter thorn (icelandic) */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e3, 0xc6} /* small letter a with tilde */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e5, 0x86} /* small letter a with ring above */, + {0x00e6, 0x91} /* small letter ae */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ec, 0x8d} /* small letter i with grave */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f0, 0xd0} /* small letter eth (icelandic) */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f2, 0x95} /* small letter o with grave */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f5, 0xe4} /* small letter o with tilde */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00f8, 0x9b} /* small letter o with stroke */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00fd, 0xec} /* small letter y with acute */, + {0x00fe, 0xe7} /* small letter thorn (icelandic) */, + {0x00ff, 0x98} /* small letter y with diaeresis */, + {0x0131, 0xd5} /* small letter i dotless */, + {0x0192, 0x9f} /* minuscule latine f hameçon */, + {0x2017, 0xf2} /* low line */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm850_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm850_extra[cet_ucs4_to_ibm850_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm850 = /* defined in cet.h */ +{ + cet_cs_name_ibm850, /* name of character set */ + cet_cs_alias_ibm850, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm850, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm850, /* first non standard character */ + cet_ucs4_cnt_ibm850, /* number of values in table */ + + cet_ucs4_to_ibm850_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm850_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm850_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x00d7, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0, + 0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x00f0, 0x00d0, 0x00ca, 0x00cb, 0x00c8, 0x0131, 0x00cd, 0x00ce, + 0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580, + 0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, 0x00fe, + 0x00de, 0x00da, 0x00db, 0x00d9, 0x00fd, 0x00dd, 0x00af, 0x00b4, + 0x00ad, 0x00b1, 0x2017, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x00b8, + 0x00b0, 0x00a8, 0x00b7, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm851.h b/gpsbabel/cet/ibm851.h new file mode 100644 index 000000000..ad35b9f73 --- /dev/null +++ b/gpsbabel/cet/ibm851.h @@ -0,0 +1,255 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM851" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm851_h +#define ibm851_h + +#define cet_cs_name_ibm851 "IBM851" + +const char *cet_cs_alias_ibm851[] = +{ + "IBM851/CR-LF", "851/CR-LF", "CP851/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm851 128 +#define cet_ucs4_cnt_ibm851 128 + +const int cet_ucs4_map_ibm851[cet_ucs4_cnt_ibm851] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x0386, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0388, 0x00c4, 0x0389, + 0x038a, -1, 0x038c, 0x00f4, 0x00f6, 0x038e, 0x00fb, 0x00f9, + 0x038f, 0x00d6, 0x00dc, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af, + 0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394, + 0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039d, + 0x039c, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3, + 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2, + 0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580, + 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, + 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x00b4, + 0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x02db, + 0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm851_ct 127 + +const cet_ucs4_link_t cet_ucs4_to_ibm851_links[cet_ucs4_to_ibm851_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a3, 0x9c} /* sign */, + {0x00a7, 0xf5} /* sign */, + {0x00a8, 0xf9} /* diaeresis */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ad, 0xf0} /* hyphen */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b4, 0xef} /* accent */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bd, 0xab} /* fraction one half */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x02db, 0xf7} /* ogonek */, + {0x0386, 0x86} /* capital letter alpha with acute */, + {0x0388, 0x8d} /* capital letter epsilon with acute */, + {0x0389, 0x8f} /* capital letter eta with acute */, + {0x038a, 0x90} /* capital letter iota with acute */, + {0x038c, 0x92} /* capital letter omicron with acute */, + {0x038e, 0x95} /* capital letter upsilon with acute */, + {0x038f, 0x98} /* capital letter omega with acute */, + {0x0390, 0xa1} /* small letter iota with acute and diaeresis */, + {0x0391, 0xa4} /* capital letter alpha */, + {0x0392, 0xa5} /* capital letter beta */, + {0x0393, 0xa6} /* capital letter gamma */, + {0x0394, 0xa7} /* capital letter delta */, + {0x0395, 0xa8} /* capital letter epsilon */, + {0x0396, 0xa9} /* capital letter zeta */, + {0x0397, 0xaa} /* capital letter eta */, + {0x0398, 0xac} /* capital letter theta */, + {0x0399, 0xad} /* capital letter iota */, + {0x039a, 0xb5} /* capital letter kappa */, + {0x039b, 0xb6} /* capital letter lamda */, + {0x039c, 0xb8} /* capital letter mu */, + {0x039d, 0xb7} /* capital letter nu */, + {0x039e, 0xbd} /* capital letter xi */, + {0x039f, 0xbe} /* capital letter omicron */, + {0x03a0, 0xc6} /* capital letter pi */, + {0x03a1, 0xc7} /* capital letter rho */, + {0x03a3, 0xcf} /* capital letter sigma */, + {0x03a4, 0xd0} /* capital letter tau */, + {0x03a5, 0xd1} /* capital letter upsilon */, + {0x03a6, 0xd2} /* capital letter phi */, + {0x03a7, 0xd3} /* capital letter chi */, + {0x03a8, 0xd4} /* capital letter psi */, + {0x03a9, 0xd5} /* capital letter omega */, + {0x03ac, 0x9b} /* small letter alpha with acute */, + {0x03ad, 0x9d} /* small letter epsilon with acute */, + {0x03ae, 0x9e} /* small letter eta with acute */, + {0x03af, 0x9f} /* small letter iota with acute */, + {0x03b0, 0xfc} /* small letter upsilon with acute and diaeresis */, + {0x03b1, 0xd6} /* small letter alpha */, + {0x03b2, 0xd7} /* small letter beta */, + {0x03b3, 0xd8} /* small letter gamma */, + {0x03b4, 0xdd} /* small letter delta */, + {0x03b5, 0xde} /* small letter epsilon */, + {0x03b6, 0xe0} /* small letter zeta */, + {0x03b7, 0xe1} /* small letter eta */, + {0x03b8, 0xe2} /* small letter theta */, + {0x03b9, 0xe3} /* small letter iota */, + {0x03ba, 0xe4} /* small letter kappa */, + {0x03bb, 0xe5} /* small letter lamda */, + {0x03bc, 0xe6} /* small letter mu */, + {0x03bd, 0xe7} /* small letter nu */, + {0x03be, 0xe8} /* small letter xi */, + {0x03bf, 0xe9} /* small letter omicron */, + {0x03c0, 0xea} /* small letter pi */, + {0x03c1, 0xeb} /* small letter rho */, + {0x03c2, 0xed} /* small letter final sigma */, + {0x03c3, 0xec} /* small letter sigma */, + {0x03c4, 0xee} /* small letter tau */, + {0x03c5, 0xf2} /* small letter upsilon */, + {0x03c6, 0xf3} /* small letter phi */, + {0x03c7, 0xf4} /* small letter chi */, + {0x03c8, 0xf6} /* small letter psi */, + {0x03c9, 0xfa} /* small letter omega */, + {0x03ca, 0xa0} /* small letter iota with diaeresis */, + {0x03cb, 0xfb} /* small letter upsilon with diaeresis */, + {0x03cc, 0xa2} /* small letter omicron with acute */, + {0x03cd, 0xa3} /* small letter upsilon with acute */, + {0x03ce, 0xfd} /* small letter omega with acute */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm851_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm851_extra[cet_ucs4_to_ibm851_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm851 = /* defined in cet.h */ +{ + cet_cs_name_ibm851, /* name of character set */ + cet_cs_alias_ibm851, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm851, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm851, /* first non standard character */ + cet_ucs4_cnt_ibm851, /* number of values in table */ + + cet_ucs4_to_ibm851_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm851_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm851_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x0386, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0388, 0x00c4, 0x0389, + 0x038a, -1, 0x038c, 0x00f4, 0x00f6, 0x038e, 0x00fb, 0x00f9, + 0x038f, 0x00d6, 0x00dc, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af, + 0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394, + 0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039d, + 0x039c, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3, + 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2, + 0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580, + 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, + 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x00b4, + 0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x02db, + 0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm852.h b/gpsbabel/cet/ibm852.h new file mode 100644 index 000000000..019994dad --- /dev/null +++ b/gpsbabel/cet/ibm852.h @@ -0,0 +1,257 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM852" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm852_h +#define ibm852_h + +#define cet_cs_name_ibm852 "IBM852" + +const char *cet_cs_alias_ibm852[] = +{ + "IBM852/CR-LF", "852/CR-LF", "CP852/CR-LF", "pcl2", + "pclatin2", NULL +}; + +#define cet_ucs4_ofs_ibm852 128 +#define cet_ucs4_cnt_ibm852 128 + +const int cet_ucs4_map_ibm852[cet_ucs4_cnt_ibm852] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x016f, 0x0107, 0x00e7, + 0x0142, 0x00eb, 0x0150, 0x0151, 0x00ee, 0x0179, 0x00c4, 0x0106, + 0x00c9, 0x0139, 0x013a, 0x00f4, 0x00f6, 0x013d, 0x013e, 0x015a, + 0x015b, 0x00d6, 0x00dc, 0x0164, 0x0165, 0x0141, 0x00d7, 0x010d, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x0104, 0x0105, 0x017d, 0x017e, + 0x0118, 0x0119, 0x00ac, 0x017a, 0x010c, 0x015f, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x011a, + 0x015e, 0x2563, 0x2551, 0x2557, 0x255d, 0x017b, 0x017c, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0102, 0x0103, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x0111, 0x0110, 0x010e, 0x00cb, 0x010f, 0x0147, 0x00cd, 0x00ce, + 0x011b, 0x2518, 0x250c, 0x2588, 0x2584, 0x0162, 0x016e, 0x2580, + 0x00d3, 0x00df, 0x00d4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161, + 0x0154, 0x00da, 0x0155, 0x0170, 0x00fd, 0x00dd, 0x0163, 0x00b4, + 0x00ad, 0x02dd, 0x02db, 0x02c7, 0x02d8, 0x00a7, 0x00f7, 0x00b8, + 0x00b0, 0x00a8, 0x02d9, 0x0171, 0x0158, 0x0159, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm852_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_ibm852_links[cet_ucs4_to_ibm852_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a4, 0xcf} /* sign */, + {0x00a7, 0xf5} /* sign */, + {0x00a8, 0xf9} /* diaeresis */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00ad, 0xf0} /* hyphen */, + {0x00b0, 0xf8} /* sign */, + {0x00b4, 0xef} /* accent */, + {0x00b8, 0xf7} /* cedilla */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00c1, 0xb5} /* capital letter a with acute */, + {0x00c2, 0xb6} /* capital letter a with circumflex */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00cb, 0xd3} /* capital letter e with diaeresis */, + {0x00cd, 0xd6} /* capital letter i with acute */, + {0x00ce, 0xd7} /* capital letter i with circumflex */, + {0x00d3, 0xe0} /* capital letter o with acute */, + {0x00d4, 0xe2} /* capital letter o with circumflex */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00d7, 0x9e} /* sign */, + {0x00da, 0xe9} /* capital letter u with acute */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00dd, 0xed} /* capital letter y with acute */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00fd, 0xec} /* small letter y with acute */, + {0x0102, 0xc6} /* capital letter a with breve */, + {0x0103, 0xc7} /* small letter a with breve */, + {0x0104, 0xa4} /* capital letter a with ogonek */, + {0x0105, 0xa5} /* small letter a with ogonek */, + {0x0106, 0x8f} /* capital letter c with acute */, + {0x0107, 0x86} /* small letter c with acute */, + {0x010c, 0xac} /* capital letter c with caron */, + {0x010d, 0x9f} /* small letter c with caron */, + {0x010e, 0xd2} /* capital letter d with caron */, + {0x010f, 0xd4} /* small letter d with caron */, + {0x0110, 0xd1} /* capital letter d with stroke */, + {0x0111, 0xd0} /* small letter d with stroke */, + {0x0118, 0xa8} /* capital letter e with ogonek */, + {0x0119, 0xa9} /* small letter e with ogonek */, + {0x011a, 0xb7} /* capital letter e with caron */, + {0x011b, 0xd8} /* small letter e with caron */, + {0x0139, 0x91} /* capital letter l with acute */, + {0x013a, 0x92} /* small letter l with acute */, + {0x013d, 0x95} /* capital letter l with caron */, + {0x013e, 0x96} /* small letter l with caron */, + {0x0141, 0x9d} /* capital letter l with stroke */, + {0x0142, 0x88} /* small letter l with stroke */, + {0x0143, 0xe3} /* capital letter n with acute */, + {0x0144, 0xe4} /* small letter n with acute */, + {0x0147, 0xd5} /* capital letter n with caron */, + {0x0148, 0xe5} /* small letter n with caron */, + {0x0150, 0x8a} /* capital letter o with double acute */, + {0x0151, 0x8b} /* small letter o with double acute */, + {0x0154, 0xe8} /* capital letter r with acute */, + {0x0155, 0xea} /* small letter r with acute */, + {0x0158, 0xfc} /* capital letter r with caron */, + {0x0159, 0xfd} /* small letter r with caron */, + {0x015a, 0x97} /* capital letter s with acute */, + {0x015b, 0x98} /* small letter s with acute */, + {0x015e, 0xb8} /* capital letter s with cedilla */, + {0x015f, 0xad} /* small letter s with cedilla */, + {0x0160, 0xe6} /* capital letter s with caron */, + {0x0161, 0xe7} /* small letter s with caron */, + {0x0162, 0xdd} /* capital letter t with cedilla */, + {0x0163, 0xee} /* small letter t with cedilla */, + {0x0164, 0x9b} /* capital letter t with caron */, + {0x0165, 0x9c} /* small letter t with caron */, + {0x016e, 0xde} /* capital letter u with ring above */, + {0x016f, 0x85} /* small letter u with ring above */, + {0x0170, 0xeb} /* capital letter u with double acute */, + {0x0171, 0xfb} /* small letter u with double acute */, + {0x0179, 0x8d} /* capital letter z with acute */, + {0x017a, 0xab} /* small letter z with acute */, + {0x017b, 0xbd} /* capital letter z with dot above */, + {0x017c, 0xbe} /* small letter z with dot above */, + {0x017d, 0xa6} /* capital letter z with caron */, + {0x017e, 0xa7} /* small letter z with caron */, + {0x02c7, 0xf3} /* caron */, + {0x02d8, 0xf4} /* breve */, + {0x02d9, 0xfa} /* above */, + {0x02db, 0xf2} /* ogonek */, + {0x02dd, 0xf1} /* acute accent */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm852_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm852_extra[cet_ucs4_to_ibm852_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm852 = /* defined in cet.h */ +{ + cet_cs_name_ibm852, /* name of character set */ + cet_cs_alias_ibm852, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm852, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm852, /* first non standard character */ + cet_ucs4_cnt_ibm852, /* number of values in table */ + + cet_ucs4_to_ibm852_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm852_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm852_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x016f, 0x0107, 0x00e7, + 0x0142, 0x00eb, 0x0150, 0x0151, 0x00ee, 0x0179, 0x00c4, 0x0106, + 0x00c9, 0x0139, 0x013a, 0x00f4, 0x00f6, 0x013d, 0x013e, 0x015a, + 0x015b, 0x00d6, 0x00dc, 0x0164, 0x0165, 0x0141, 0x00d7, 0x010d, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x0104, 0x0105, 0x017d, 0x017e, + 0x0118, 0x0119, 0x00ac, 0x017a, 0x010c, 0x015f, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x011a, + 0x015e, 0x2563, 0x2551, 0x2557, 0x255d, 0x017b, 0x017c, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x0102, 0x0103, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x0111, 0x0110, 0x010e, 0x00cb, 0x010f, 0x0147, 0x00cd, 0x00ce, + 0x011b, 0x2518, 0x250c, 0x2588, 0x2584, 0x0162, 0x016e, 0x2580, + 0x00d3, 0x00df, 0x00d4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161, + 0x0154, 0x00da, 0x0155, 0x0170, 0x00fd, 0x00dd, 0x0163, 0x00b4, + 0x00ad, 0x02dd, 0x02db, 0x02c7, 0x02d8, 0x00a7, 0x00f7, 0x00b8, + 0x00b0, 0x00a8, 0x02d9, 0x0171, 0x0158, 0x0159, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm855.h b/gpsbabel/cet/ibm855.h new file mode 100644 index 000000000..ad38eeda4 --- /dev/null +++ b/gpsbabel/cet/ibm855.h @@ -0,0 +1,255 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM855" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm855_h +#define ibm855_h + +#define cet_cs_name_ibm855 "IBM855" + +const char *cet_cs_alias_ibm855[] = +{ + "IBM855/CR-LF", "855/CR-LF", "CP855/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm855 128 +#define cet_ucs4_cnt_ibm855 128 + +const int cet_ucs4_map_ibm855[cet_ucs4_cnt_ibm855] = +{ + 0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404, + 0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408, + 0x0459, 0x0409, 0x045a, 0x040a, 0x045b, 0x0093, 0x045c, 0x040c, + 0x045e, 0x040e, 0x045f, 0x040f, 0x044e, 0x042e, 0x044a, 0x042a, + 0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414, + 0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438, + 0x0418, 0x2563, 0x2551, 0x2557, 0x255d, 0x0439, 0x0419, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x043a, 0x041a, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x043b, 0x041b, 0x043c, 0x041c, 0x043d, 0x041d, 0x043e, 0x041e, + 0x043f, 0x2518, 0x250c, 0x2588, 0x2584, 0x041f, 0x044f, 0x2580, + 0x042f, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443, + 0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044c, 0x042c, 0x00b4, + 0x00ad, 0x044b, 0x042b, 0x0437, 0x0417, 0x0448, 0x0428, 0x044d, + 0x042d, 0x0449, 0x0429, 0x0447, 0x0427, -1, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm855_ct 127 + +const cet_ucs4_link_t cet_ucs4_to_ibm855_links[cet_ucs4_to_ibm855_ct] = +{ + {0x0093, 0x95} /* transmit state (sts) */, + {0x00a0, 0xff} /* space */, + {0x00a4, 0xcf} /* sign */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ad, 0xf0} /* hyphen */, + {0x00b4, 0xef} /* accent */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x0401, 0x85} /* capital letter io */, + {0x0402, 0x81} /* capital letter dje (serbocroatian) */, + {0x0403, 0x83} /* capital letter gje (macedonian) */, + {0x0404, 0x87} /* capital letter ukrainian ie */, + {0x0405, 0x89} /* capital letter dze (macedonian) */, + {0x0406, 0x8b} /* capital letter byelorussian-ukrainian i */, + {0x0407, 0x8d} /* capital letter yi (ukrainian) */, + {0x0408, 0x8f} /* capital letter je */, + {0x0409, 0x91} /* capital letter lje */, + {0x040a, 0x93} /* capital letter nje */, + {0x040c, 0x97} /* capital letter kje (macedonian) */, + {0x040e, 0x99} /* capital letter short u (byelorussian) */, + {0x040f, 0x9b} /* capital letter dzhe */, + {0x0410, 0xa1} /* capital letter a */, + {0x0411, 0xa3} /* capital letter be */, + {0x0412, 0xec} /* capital letter ve */, + {0x0413, 0xad} /* capital letter ghe */, + {0x0414, 0xa7} /* capital letter de */, + {0x0415, 0xa9} /* capital letter ie */, + {0x0416, 0xea} /* capital letter zhe */, + {0x0417, 0xf4} /* capital letter ze */, + {0x0418, 0xb8} /* capital letter i */, + {0x0419, 0xbe} /* capital letter short i */, + {0x041a, 0xc7} /* capital letter ka */, + {0x041b, 0xd1} /* capital letter el */, + {0x041c, 0xd3} /* capital letter em */, + {0x041d, 0xd5} /* capital letter en */, + {0x041e, 0xd7} /* capital letter o */, + {0x041f, 0xdd} /* capital letter pe */, + {0x0420, 0xe2} /* capital letter er */, + {0x0421, 0xe4} /* capital letter es */, + {0x0422, 0xe6} /* capital letter te */, + {0x0423, 0xe8} /* capital letter u */, + {0x0424, 0xab} /* capital letter ef */, + {0x0425, 0xb6} /* capital letter ha */, + {0x0426, 0xa5} /* capital letter tse */, + {0x0427, 0xfc} /* capital letter che */, + {0x0428, 0xf6} /* capital letter sha */, + {0x0429, 0xfa} /* capital letter shcha */, + {0x042a, 0x9f} /* capital letter hard sign */, + {0x042b, 0xf2} /* capital letter yeru */, + {0x042c, 0xee} /* capital letter soft sign */, + {0x042d, 0xf8} /* capital letter e */, + {0x042e, 0x9d} /* capital letter yu */, + {0x042f, 0xe0} /* capital letter ya */, + {0x0430, 0xa0} /* small letter a */, + {0x0431, 0xa2} /* small letter be */, + {0x0432, 0xeb} /* small letter ve */, + {0x0433, 0xac} /* small letter ghe */, + {0x0434, 0xa6} /* small letter de */, + {0x0435, 0xa8} /* small letter ie */, + {0x0436, 0xe9} /* small letter zhe */, + {0x0437, 0xf3} /* small letter ze */, + {0x0438, 0xb7} /* small letter i */, + {0x0439, 0xbd} /* small letter short i */, + {0x043a, 0xc6} /* small letter ka */, + {0x043b, 0xd0} /* small letter el */, + {0x043c, 0xd2} /* small letter em */, + {0x043d, 0xd4} /* small letter en */, + {0x043e, 0xd6} /* small letter o */, + {0x043f, 0xd8} /* small letter pe */, + {0x0440, 0xe1} /* small letter er */, + {0x0441, 0xe3} /* small letter es */, + {0x0442, 0xe5} /* small letter te */, + {0x0443, 0xe7} /* small letter u */, + {0x0444, 0xaa} /* small letter ef */, + {0x0445, 0xb5} /* small letter ha */, + {0x0446, 0xa4} /* small letter tse */, + {0x0447, 0xfb} /* small letter che */, + {0x0448, 0xf5} /* small letter sha */, + {0x0449, 0xf9} /* small letter shcha */, + {0x044a, 0x9e} /* small letter hard sign */, + {0x044b, 0xf1} /* small letter yeru */, + {0x044c, 0xed} /* small letter soft sign */, + {0x044d, 0xf7} /* small letter e */, + {0x044e, 0x9c} /* small letter yu */, + {0x044f, 0xde} /* small letter ya */, + {0x0451, 0x84} /* small letter io */, + {0x0452, 0x80} /* small letter dje (serbocroatian) */, + {0x0453, 0x82} /* small letter gje (macedonian) */, + {0x0454, 0x86} /* small letter ukrainian ie */, + {0x0455, 0x88} /* small letter dze (macedonian) */, + {0x0456, 0x8a} /* small letter byelorussian-ukrainian i */, + {0x0457, 0x8c} /* small letter yi (ukrainian) */, + {0x0458, 0x8e} /* small letter je */, + {0x0459, 0x90} /* small letter lje */, + {0x045a, 0x92} /* small letter nje */, + {0x045b, 0x94} /* small letter tshe (serbocroatian) */, + {0x045c, 0x96} /* small letter kje (macedonian) */, + {0x045e, 0x98} /* small letter short u (byelorussian) */, + {0x045f, 0x9a} /* small letter dzhe */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm855_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm855_extra[cet_ucs4_to_ibm855_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm855 = /* defined in cet.h */ +{ + cet_cs_name_ibm855, /* name of character set */ + cet_cs_alias_ibm855, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm855, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm855, /* first non standard character */ + cet_ucs4_cnt_ibm855, /* number of values in table */ + + cet_ucs4_to_ibm855_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm855_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm855_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404, + 0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408, + 0x0459, 0x0409, 0x045a, 0x040a, 0x045b, 0x0093, 0x045c, 0x040c, + 0x045e, 0x040e, 0x045f, 0x040f, 0x044e, 0x042e, 0x044a, 0x042a, + 0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414, + 0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438, + 0x0418, 0x2563, 0x2551, 0x2557, 0x255d, 0x0439, 0x0419, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x043a, 0x041a, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x043b, 0x041b, 0x043c, 0x041c, 0x043d, 0x041d, 0x043e, 0x041e, + 0x043f, 0x2518, 0x250c, 0x2588, 0x2584, 0x041f, 0x044f, 0x2580, + 0x042f, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443, + 0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044c, 0x042c, 0x00b4, + 0x00ad, 0x044b, 0x042b, 0x0437, 0x0417, 0x0448, 0x0428, 0x044d, + 0x042d, 0x0449, 0x0429, 0x0447, 0x0427, -1, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm857.h b/gpsbabel/cet/ibm857.h new file mode 100644 index 000000000..8f61a888c --- /dev/null +++ b/gpsbabel/cet/ibm857.h @@ -0,0 +1,252 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM857" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm857_h +#define ibm857_h + +#define cet_cs_name_ibm857 "IBM857" + +const char *cet_cs_alias_ibm857[] = +{ + "IBM857/CR-LF", "857/CR-LF", "CP857/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm857 128 +#define cet_ucs4_cnt_ibm857 128 + +const int cet_ucs4_map_ibm857[cet_ucs4_cnt_ibm857] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0131, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x0130, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x015e, 0x015f, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x011e, 0x011f, + 0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0, + 0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x00ba, 0x00aa, 0x00ca, 0x00cb, 0x00c8, -1, 0x00cd, 0x00ce, + 0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580, + 0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, -1, + 0x00d7, 0x00da, 0x00db, 0x00d9, 0x00ec, 0x00ff, 0x2014, 0x00b4, + 0x00ad, 0x00b1, -1, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x02db, + 0x00b0, 0x00a8, 0x02d9, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm857_ct 124 + +const cet_ucs4_link_t cet_ucs4_to_ibm857_links[cet_ucs4_to_ibm857_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a2, 0xbd} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00a4, 0xcf} /* sign */, + {0x00a5, 0xbe} /* sign */, + {0x00a6, 0xdd} /* bar */, + {0x00a7, 0xf5} /* sign */, + {0x00a8, 0xf9} /* diaeresis */, + {0x00a9, 0xb8} /* sign */, + {0x00aa, 0xd1} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00ad, 0xf0} /* hyphen */, + {0x00ae, 0xa9} /* sign */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b3, 0xfc} /* three */, + {0x00b4, 0xef} /* accent */, + {0x00b5, 0xe6} /* sign */, + {0x00b6, 0xf4} /* sign */, + {0x00b9, 0xfb} /* one */, + {0x00ba, 0xd0} /* ordinal indicator */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00be, 0xf3} /* fraction three quarters */, + {0x00bf, 0xa8} /* question mark */, + {0x00c0, 0xb7} /* capital letter a with grave */, + {0x00c1, 0xb5} /* capital letter a with acute */, + {0x00c2, 0xb6} /* capital letter a with circumflex */, + {0x00c3, 0xc7} /* capital letter a with tilde */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c5, 0x8f} /* capital letter a with ring above */, + {0x00c6, 0x92} /* capital letter ae */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c8, 0xd4} /* capital letter e with grave */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00ca, 0xd2} /* capital letter e with circumflex */, + {0x00cb, 0xd3} /* capital letter e with diaeresis */, + {0x00cc, 0xde} /* capital letter i with grave */, + {0x00cd, 0xd6} /* capital letter i with acute */, + {0x00ce, 0xd7} /* capital letter i with circumflex */, + {0x00cf, 0xd8} /* capital letter i with diaeresis */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d2, 0xe3} /* capital letter o with grave */, + {0x00d3, 0xe0} /* capital letter o with acute */, + {0x00d4, 0xe2} /* capital letter o with circumflex */, + {0x00d5, 0xe5} /* capital letter o with tilde */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00d7, 0xe8} /* sign */, + {0x00d8, 0x9d} /* capital letter o with stroke */, + {0x00d9, 0xeb} /* capital letter u with grave */, + {0x00da, 0xe9} /* capital letter u with acute */, + {0x00db, 0xea} /* capital letter u with circumflex */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e3, 0xc6} /* small letter a with tilde */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e5, 0x86} /* small letter a with ring above */, + {0x00e6, 0x91} /* small letter ae */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f2, 0x95} /* small letter o with grave */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f5, 0xe4} /* small letter o with tilde */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00f8, 0x9b} /* small letter o with stroke */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00ff, 0xed} /* small letter y with diaeresis */, + {0x011e, 0xa6} /* capital letter g with breve */, + {0x011f, 0xa7} /* small letter g with breve */, + {0x0130, 0x98} /* capital letter i with dot above */, + {0x0131, 0x8d} /* small letter i dotless */, + {0x015e, 0x9e} /* capital letter s with cedilla */, + {0x015f, 0x9f} /* small letter s with cedilla */, + {0x02d9, 0xfa} /* above */, + {0x02db, 0xf7} /* ogonek */, + {0x2014, 0xee} /* dash */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm857_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm857_extra[cet_ucs4_to_ibm857_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm857 = /* defined in cet.h */ +{ + cet_cs_name_ibm857, /* name of character set */ + cet_cs_alias_ibm857, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm857, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm857, /* first non standard character */ + cet_ucs4_cnt_ibm857, /* number of values in table */ + + cet_ucs4_to_ibm857_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm857_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm857_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x0131, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x0130, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x015e, 0x015f, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x011e, 0x011f, + 0x00bf, 0x00ae, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00c1, 0x00c2, 0x00c0, + 0x00a9, 0x2563, 0x2551, 0x2557, 0x255d, 0x00a2, 0x00a5, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x00e3, 0x00c3, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x00a4, + 0x00ba, 0x00aa, 0x00ca, 0x00cb, 0x00c8, -1, 0x00cd, 0x00ce, + 0x00cf, 0x2518, 0x250c, 0x2588, 0x2584, 0x00a6, 0x00cc, 0x2580, + 0x00d3, 0x00df, 0x00d4, 0x00d2, 0x00f5, 0x00d5, 0x00b5, -1, + 0x00d7, 0x00da, 0x00db, 0x00d9, 0x00ec, 0x00ff, 0x2014, 0x00b4, + 0x00ad, 0x00b1, -1, 0x00be, 0x00b6, 0x00a7, 0x00f7, 0x02db, + 0x00b0, 0x00a8, 0x02d9, 0x00b9, 0x00b3, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm860.h b/gpsbabel/cet/ibm860.h new file mode 100644 index 000000000..12df8608b --- /dev/null +++ b/gpsbabel/cet/ibm860.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM860" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm860_h +#define ibm860_h + +#define cet_cs_name_ibm860 "IBM860" + +const char *cet_cs_alias_ibm860[] = +{ + "IBM860/CR-LF", "860/CR-LF", "CP860/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm860 128 +#define cet_ucs4_cnt_ibm860 128 + +const int cet_ucs4_map_ibm860[cet_ucs4_cnt_ibm860] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e3, 0x00e0, 0x00c1, 0x00e7, + 0x00ea, 0x00ca, 0x00e8, 0x00ce, 0x00d4, 0x00ec, 0x00c3, 0x00c2, + 0x00c9, 0x00c0, 0x00c8, 0x00f4, 0x00f5, 0x00f2, 0x00da, 0x00f9, + 0x00cc, 0x00d5, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x20a7, 0x00d2, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x00d3, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm860_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_ibm860_links[cet_ucs4_to_ibm860_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a2, 0x9b} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00aa, 0xa6} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b5, 0xe6} /* sign */, + {0x00b7, 0xf9} /* dot */, + {0x00ba, 0xa7} /* ordinal indicator */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00bf, 0xa8} /* question mark */, + {0x00c0, 0x91} /* capital letter a with grave */, + {0x00c1, 0x86} /* capital letter a with acute */, + {0x00c2, 0x8f} /* capital letter a with circumflex */, + {0x00c3, 0x8e} /* capital letter a with tilde */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c8, 0x92} /* capital letter e with grave */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00ca, 0x89} /* capital letter e with circumflex */, + {0x00cc, 0x98} /* capital letter i with grave */, + {0x00ce, 0x8b} /* capital letter i with circumflex */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d2, 0x9f} /* capital letter o with grave */, + {0x00d3, 0xa9} /* capital letter o with acute */, + {0x00d4, 0x8c} /* capital letter o with circumflex */, + {0x00d5, 0x99} /* capital letter o with tilde */, + {0x00d9, 0x9d} /* capital letter u with grave */, + {0x00da, 0x96} /* capital letter u with acute */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e3, 0x84} /* small letter a with tilde */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00ec, 0x8d} /* small letter i with grave */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f2, 0x95} /* small letter o with grave */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f5, 0x94} /* small letter o with tilde */, + {0x00f7, 0xf6} /* sign */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x03c6, 0xed} /* small letter phi */, + {0x2022, 0xfa} /* puce */, + {0x207f, 0xfc} /* latin small letter n */, + {0x20a7, 0x9e} /* sign */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm860_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm860_extra[cet_ucs4_to_ibm860_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm860 = /* defined in cet.h */ +{ + cet_cs_name_ibm860, /* name of character set */ + cet_cs_alias_ibm860, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm860, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm860, /* first non standard character */ + cet_ucs4_cnt_ibm860, /* number of values in table */ + + cet_ucs4_to_ibm860_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm860_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm860_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e3, 0x00e0, 0x00c1, 0x00e7, + 0x00ea, 0x00ca, 0x00e8, 0x00ce, 0x00d4, 0x00ec, 0x00c3, 0x00c2, + 0x00c9, 0x00c0, 0x00c8, 0x00f4, 0x00f5, 0x00f2, 0x00da, 0x00f9, + 0x00cc, 0x00d5, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x20a7, 0x00d2, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x00d3, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm861.h b/gpsbabel/cet/ibm861.h new file mode 100644 index 000000000..edd8e250f --- /dev/null +++ b/gpsbabel/cet/ibm861.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM861" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm861_h +#define ibm861_h + +#define cet_cs_name_ibm861 "IBM861" + +const char *cet_cs_alias_ibm861[] = +{ + "IBM861/CR-LF", "861/CR-LF", "CP861/CR-LF", "cp-is", + NULL +}; + +#define cet_ucs4_ofs_ibm861 128 +#define cet_ucs4_cnt_ibm861 128 + +const int cet_ucs4_map_ibm861[cet_ucs4_cnt_ibm861] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00d0, 0x00f0, 0x00de, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00fe, 0x00fb, 0x00dd, + 0x00fd, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x00d2, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00c1, 0x00cd, 0x00d3, 0x00da, + 0x00bf, -1, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm861_ct 127 + +const cet_ucs4_link_t cet_ucs4_to_ibm861_links[cet_ucs4_to_ibm861_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a3, 0x9c} /* sign */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b5, 0xe6} /* sign */, + {0x00b7, 0xf9} /* dot */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00bf, 0xa8} /* question mark */, + {0x00c1, 0xa4} /* capital letter a with acute */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c5, 0x8f} /* capital letter a with ring above */, + {0x00c6, 0x92} /* capital letter ae */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00cd, 0xa5} /* capital letter i with acute */, + {0x00d0, 0x8b} /* capital letter eth (icelandic) */, + {0x00d2, 0x9f} /* capital letter o with grave */, + {0x00d3, 0xa6} /* capital letter o with acute */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00d8, 0x9d} /* capital letter o with stroke */, + {0x00da, 0xa7} /* capital letter u with acute */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00dd, 0x97} /* capital letter y with acute */, + {0x00de, 0x8d} /* capital letter thorn (icelandic) */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e5, 0x86} /* small letter a with ring above */, + {0x00e6, 0x91} /* small letter ae */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00f0, 0x8c} /* small letter eth (icelandic) */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00f8, 0x9b} /* small letter o with stroke */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00fd, 0x98} /* small letter y with acute */, + {0x00fe, 0x95} /* small letter thorn (icelandic) */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x03c6, 0xed} /* small letter phi */, + {0x2022, 0xfa} /* puce */, + {0x207f, 0xfc} /* latin small letter n */, + {0x20a7, 0x9e} /* sign */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm861_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm861_extra[cet_ucs4_to_ibm861_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm861 = /* defined in cet.h */ +{ + cet_cs_name_ibm861, /* name of character set */ + cet_cs_alias_ibm861, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm861, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm861, /* first non standard character */ + cet_ucs4_cnt_ibm861, /* number of values in table */ + + cet_ucs4_to_ibm861_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm861_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm861_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00d0, 0x00f0, 0x00de, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00fe, 0x00fb, 0x00dd, + 0x00fd, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x00d2, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00c1, 0x00cd, 0x00d3, 0x00da, + 0x00bf, -1, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm862.h b/gpsbabel/cet/ibm862.h new file mode 100644 index 000000000..611fbbf7e --- /dev/null +++ b/gpsbabel/cet/ibm862.h @@ -0,0 +1,255 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM862" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm862_h +#define ibm862_h + +#define cet_cs_name_ibm862 "IBM862" + +const char *cet_cs_alias_ibm862[] = +{ + "IBM862/CR-LF", "862/CR-LF", "CP862/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm862 128 +#define cet_ucs4_cnt_ibm862 128 + +const int cet_ucs4_map_ibm862[cet_ucs4_cnt_ibm862] = +{ + 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7, + 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x05ea, 0x00a2, 0x00a3, 0x00d9, 0x20a7, 0x00d2, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, -1, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm862_ct 127 + +const cet_ucs4_link_t cet_ucs4_to_ibm862_links[cet_ucs4_to_ibm862_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a2, 0x9b} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00aa, 0xa6} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b5, 0xe6} /* sign */, + {0x00b7, 0xf9} /* dot */, + {0x00ba, 0xa7} /* ordinal indicator */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00bf, 0xa8} /* question mark */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d2, 0x9f} /* capital letter o with grave */, + {0x00d9, 0x9d} /* capital letter u with grave */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f7, 0xf6} /* sign */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x03c6, 0xed} /* small letter phi */, + {0x05d0, 0x80} /* letter alef */, + {0x05d1, 0x81} /* letter bet */, + {0x05d2, 0x82} /* letter gimel */, + {0x05d3, 0x83} /* letter dalet */, + {0x05d4, 0x84} /* letter he */, + {0x05d5, 0x85} /* letter vav */, + {0x05d6, 0x86} /* letter zayin */, + {0x05d7, 0x87} /* letter het */, + {0x05d8, 0x88} /* letter tet */, + {0x05d9, 0x89} /* letter yod */, + {0x05da, 0x8a} /* letter final kaf */, + {0x05db, 0x8b} /* letter kaf */, + {0x05dc, 0x8c} /* letter lamed */, + {0x05dd, 0x8d} /* letter final mem */, + {0x05de, 0x8e} /* letter mem */, + {0x05df, 0x8f} /* letter final nun */, + {0x05e0, 0x90} /* letter nun */, + {0x05e1, 0x91} /* letter samekh */, + {0x05e2, 0x92} /* letter ayin */, + {0x05e3, 0x93} /* letter final pe */, + {0x05e4, 0x94} /* letter pe */, + {0x05e5, 0x95} /* letter final tsadi */, + {0x05e6, 0x96} /* letter tsadi */, + {0x05e7, 0x97} /* letter qof */, + {0x05e8, 0x98} /* letter resh */, + {0x05e9, 0x99} /* letter shin */, + {0x05ea, 0x9a} /* letter tav */, + {0x2022, 0xfa} /* puce */, + {0x207f, 0xfc} /* latin small letter n */, + {0x20a7, 0x9e} /* sign */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm862_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm862_extra[cet_ucs4_to_ibm862_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm862 = /* defined in cet.h */ +{ + cet_cs_name_ibm862, /* name of character set */ + cet_cs_alias_ibm862, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm862, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm862, /* first non standard character */ + cet_ucs4_cnt_ibm862, /* number of values in table */ + + cet_ucs4_to_ibm862_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm862_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm862_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7, + 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x05ea, 0x00a2, 0x00a3, 0x00d9, 0x20a7, 0x00d2, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, -1, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x03c6, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x00b0, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm863.h b/gpsbabel/cet/ibm863.h new file mode 100644 index 000000000..682f01d85 --- /dev/null +++ b/gpsbabel/cet/ibm863.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM863" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm863_h +#define ibm863_h + +#define cet_cs_name_ibm863 "IBM863" + +const char *cet_cs_alias_ibm863[] = +{ + "IBM863/CR-LF", "863/CR-LF", "CP863/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm863 128 +#define cet_ucs4_cnt_ibm863 128 + +const int cet_ucs4_map_ibm863[cet_ucs4_cnt_ibm863] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00c2, 0x00e0, 0x00b6, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c0, 0x00a7, + 0x00c9, 0x00c8, 0x00ca, 0x00f4, 0x00cb, 0x00cf, 0x00fb, 0x00f9, + 0x00a4, 0x00d4, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x00db, 0x0192, + 0x00a6, 0x00b4, 0x00f3, 0x00fa, 0x00a8, 0x00b8, 0x00b3, 0x00af, + 0x00ce, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00be, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm863_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_ibm863_links[cet_ucs4_to_ibm863_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a2, 0x9b} /* sign */, + {0x00a3, 0x9c} /* sign */, + {0x00a4, 0x98} /* sign */, + {0x00a6, 0xa0} /* bar */, + {0x00a7, 0x8f} /* sign */, + {0x00a8, 0xa4} /* diaeresis */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00af, 0xa7} /* macron */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b3, 0xa6} /* three */, + {0x00b4, 0xa1} /* accent */, + {0x00b5, 0xe6} /* sign */, + {0x00b6, 0x86} /* sign */, + {0x00b7, 0xf9} /* dot */, + {0x00b8, 0xa5} /* cedilla */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00be, 0xad} /* fraction three quarters */, + {0x00c0, 0x8e} /* capital letter a with grave */, + {0x00c2, 0x84} /* capital letter a with circumflex */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c8, 0x91} /* capital letter e with grave */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00ca, 0x92} /* capital letter e with circumflex */, + {0x00cb, 0x94} /* capital letter e with diaeresis */, + {0x00ce, 0xa8} /* capital letter i with circumflex */, + {0x00cf, 0x95} /* capital letter i with diaeresis */, + {0x00d4, 0x99} /* capital letter o with circumflex */, + {0x00d9, 0x9d} /* capital letter u with grave */, + {0x00db, 0x9e} /* capital letter u with circumflex */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ec, 0x8d} /* small letter i with grave */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f7, 0xf6} /* sign */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x0192, 0x9f} /* minuscule latine f hameçon */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x2022, 0xfa} /* puce */, + {0x207f, 0xfc} /* latin small letter n */, + {0x2205, 0xed} /* set */, + {0x2218, 0xf8} /* operator */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2310, 0xa9} /* not sign */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm863_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm863_extra[cet_ucs4_to_ibm863_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm863 = /* defined in cet.h */ +{ + cet_cs_name_ibm863, /* name of character set */ + cet_cs_alias_ibm863, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm863, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm863, /* first non standard character */ + cet_ucs4_cnt_ibm863, /* number of values in table */ + + cet_ucs4_to_ibm863_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm863_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm863_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00c2, 0x00e0, 0x00b6, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c0, 0x00a7, + 0x00c9, 0x00c8, 0x00ca, 0x00f4, 0x00cb, 0x00cf, 0x00fb, 0x00f9, + 0x00a4, 0x00d4, 0x00dc, 0x00a2, 0x00a3, 0x00d9, 0x00db, 0x0192, + 0x00a6, 0x00b4, 0x00f3, 0x00fa, 0x00a8, 0x00b8, 0x00b3, 0x00af, + 0x00ce, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00be, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm864.h b/gpsbabel/cet/ibm864.h new file mode 100644 index 000000000..4ec9234da --- /dev/null +++ b/gpsbabel/cet/ibm864.h @@ -0,0 +1,249 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM864" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm864_h +#define ibm864_h + +#define cet_cs_name_ibm864 "IBM864" + +const char *cet_cs_alias_ibm864[] = +{ + "IBM864/CR-LF", "864/CR-LF", "CP864/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm864 128 +#define cet_ucs4_cnt_ibm864 128 + +const int cet_ucs4_map_ibm864[cet_ucs4_cnt_ibm864] = +{ + 0x00b0, 0x00b7, 0x2218, 0x221a, 0x2592, 0x2500, 0x2502, 0x253c, + 0x2524, 0x252c, 0x251c, 0x2534, 0x2510, 0x250c, 0x2514, 0x2518, + 0x00df, 0x221e, 0x00f8, 0x00b1, 0x00bd, 0x00bc, 0x2248, 0x00ab, + 0x00bb, 0xfef7, 0xfef8, -1, -1, 0xfefb, 0xfefc, 0xe016, + -1, 0x00ad, 0xfe82, 0x00a3, 0x00a4, 0xfe84, -1, -1, + 0xfe8e, 0x0628, 0x062a, 0x062b, 0x060c, 0x062c, 0x062d, 0x062e, + 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, + 0x0668, 0x0669, 0x06a4, 0x061b, 0x0633, 0x0634, 0x0635, 0x061f, + 0x00a2, 0x0621, 0x0622, 0x0623, 0x0624, 0xfeca, 0x0626, 0x0627, + 0xfe91, 0x0629, 0xfe97, 0xfe9b, 0xfe9f, 0xfea3, 0xfea7, 0x062f, + 0x0630, 0x0631, 0x0632, 0xfeb3, 0xfeb7, 0xfebb, 0xfebf, 0x0637, + 0x0638, 0xfecb, 0xfecf, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0x0639, + 0x0640, 0xfed2, 0xfed6, 0xfedb, 0xfede, 0xfee3, 0xfee6, 0xfeeb, + 0x0648, 0x0649, 0xfef3, 0x0636, 0xfee2, 0xfece, 0x063a, 0x0645, + 0xfe7d, 0x0651, 0x0646, 0x0647, 0xfeec, 0xfef0, 0xfef2, 0x0641, + 0x0642, 0xfef5, 0xfef6, 0x0644, 0x0643, 0x064a, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm864_ct 121 + +const cet_ucs4_link_t cet_ucs4_to_ibm864_links[cet_ucs4_to_ibm864_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a2, 0xc0} /* sign */, + {0x00a6, 0xdb} /* bar */, + {0x00ab, 0x97} /* double angle quotation mark */, + {0x00ac, 0xdc} /* sign */, + {0x00ad, 0xa1} /* hyphen */, + {0x00b0, 0x80} /* sign */, + {0x00b1, 0x93} /* sign */, + {0x00b7, 0x81} /* dot */, + {0x00bb, 0x98} /* double angle quotation mark */, + {0x00bc, 0x95} /* fraction one quarter */, + {0x00bd, 0x94} /* fraction one half */, + {0x00d7, 0xde} /* sign */, + {0x00df, 0x90} /* small letter sharp s (german) */, + {0x00f7, 0xdd} /* sign */, + {0x00f8, 0x92} /* small letter o with stroke */, + {0x060c, 0xac} /* comma */, + {0x061b, 0xbb} /* semicolon */, + {0x061f, 0xbf} /* question mark */, + {0x0621, 0xc1} /* letter hamza */, + {0x0622, 0xc2} /* letter alef with madda above */, + {0x0623, 0xc3} /* letter alef with hamza above */, + {0x0624, 0xc4} /* letter waw with hamza above */, + {0x0626, 0xc6} /* letter yeh with hamza above */, + {0x0627, 0xc7} /* letter alef */, + {0x0628, 0xa9} /* letter beh */, + {0x0629, 0xc9} /* letter teh marbuta */, + {0x062a, 0xaa} /* letter teh */, + {0x062b, 0xab} /* letter theh */, + {0x062c, 0xad} /* letter jeem */, + {0x062d, 0xae} /* letter hah */, + {0x062e, 0xaf} /* letter khah */, + {0x062f, 0xcf} /* letter dal */, + {0x0630, 0xd0} /* letter thal */, + {0x0631, 0xd1} /* letter reh */, + {0x0632, 0xd2} /* letter zain */, + {0x0633, 0xbc} /* letter seen */, + {0x0634, 0xbd} /* letter sheen */, + {0x0635, 0xbe} /* letter sad */, + {0x0636, 0xeb} /* letter dad */, + {0x0637, 0xd7} /* letter tah */, + {0x0638, 0xd8} /* letter zah */, + {0x0639, 0xdf} /* letter ain */, + {0x063a, 0xee} /* letter ghain */, + {0x0640, 0xe0} /* tatweel */, + {0x0641, 0xf7} /* letter feh */, + {0x0642, 0xf8} /* letter qaf */, + {0x0643, 0xfc} /* letter kaf */, + {0x0644, 0xfb} /* letter lam */, + {0x0645, 0xef} /* letter meem */, + {0x0646, 0xf2} /* letter noon */, + {0x0647, 0xf3} /* letter heh */, + {0x0648, 0xe8} /* letter waw */, + {0x0649, 0xe9} /* letter alef maksura */, + {0x064a, 0xfd} /* letter yeh */, + {0x0651, 0xf1} /* shadda */, + {0x0660, 0xb0} /* arabic-indic digit zero */, + {0x0661, 0xb1} /* arabic-indic digit one */, + {0x0662, 0xb2} /* arabic-indic digit two */, + {0x0663, 0xb3} /* arabic-indic digit three */, + {0x0664, 0xb4} /* arabic-indic digit four */, + {0x0665, 0xb5} /* arabic-indic digit five */, + {0x0666, 0xb6} /* arabic-indic digit six */, + {0x0667, 0xb7} /* arabic-indic digit seven */, + {0x0668, 0xb8} /* arabic-indic digit eight */, + {0x0669, 0xb9} /* arabic-indic digit nine */, + {0x06a4, 0xba} /* letter veh */, + {0x2218, 0x82} /* operator */, + {0x221a, 0x83} /* root */, + {0x221e, 0x91} /* infinity */, + {0x2248, 0x96} /* equal to */, + {0x2500, 0x85} /* drawings light horizontal */, + {0x2502, 0x86} /* drawings light vertical */, + {0x250c, 0x8d} /* drawings light down and right */, + {0x2510, 0x8c} /* drawings light down and left */, + {0x2514, 0x8e} /* drawings light up and right */, + {0x2518, 0x8f} /* drawings light up and left */, + {0x251c, 0x8a} /* drawings light vertical and right */, + {0x2524, 0x88} /* drawings light vertical and left */, + {0x252c, 0x89} /* drawings light down and horizontal */, + {0x2534, 0x8b} /* drawings light up and horizontal */, + {0x253c, 0x87} /* drawings light vertical and horizontal */, + {0x2592, 0x84} /* shade */, + {0x25a0, 0xfe} /* square */, + {0xe016, 0x9f} /* letter alef final form compatibility (ibm868 144) */, + {0xfe7d, 0xf0} /* shadda medial form */, + {0xfe82, 0xa2} /* letter alef with madda above final form */, + {0xfe84, 0xa5} /* letter alef with hamza above final form */, + {0xfe8e, 0xa8} /* letter alef final form */, + {0xfe91, 0xc8} /* letter beh initial form */, + {0xfe97, 0xca} /* letter teh initial form */, + {0xfe9b, 0xcb} /* letter theh initial form */, + {0xfe9f, 0xcc} /* letter jeem initial form */, + {0xfea3, 0xcd} /* letter hah initial form */, + {0xfea7, 0xce} /* letter khah initial form */, + {0xfeb3, 0xd3} /* letter seen initial form */, + {0xfeb7, 0xd4} /* letter sheen initial form */, + {0xfebb, 0xd5} /* letter sad initial form */, + {0xfebf, 0xd6} /* letter dad initial form */, + {0xfeca, 0xc5} /* letter ain final form */, + {0xfecb, 0xd9} /* letter ain initial form */, + {0xfece, 0xed} /* letter ghain final form */, + {0xfecf, 0xda} /* letter ghain initial form */, + {0xfed2, 0xe1} /* letter feh final form */, + {0xfed6, 0xe2} /* letter qaf final form */, + {0xfedb, 0xe3} /* letter kaf initial form */, + {0xfede, 0xe4} /* letter lam final form */, + {0xfee2, 0xec} /* letter meem final form */, + {0xfee3, 0xe5} /* letter meem initial form */, + {0xfee6, 0xe6} /* letter noon final form */, + {0xfeeb, 0xe7} /* letter heh initial form */, + {0xfeec, 0xf4} /* letter heh medial form */, + {0xfef0, 0xf5} /* letter alef maksura final form */, + {0xfef2, 0xf6} /* letter yeh final form */, + {0xfef3, 0xea} /* letter yeh initial form */, + {0xfef5, 0xf9} /* ligature lam with alef with madda above */, + {0xfef6, 0xfa} /* ligature lam with alef with madda above */, + {0xfef7, 0x99} /* ligature lam with alef with hamza above */, + {0xfef8, 0x9a} /* ligature lam with alef with hamza above */, + {0xfefb, 0x9d} /* ligature lam with alef isolated form */, + {0xfefc, 0x9e} /* ligature lam with alef final form */ +}; + +/* +#define cet_ucs4_to_ibm864_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm864_extra[cet_ucs4_to_ibm864_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm864 = /* defined in cet.h */ +{ + cet_cs_name_ibm864, /* name of character set */ + cet_cs_alias_ibm864, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm864, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm864, /* first non standard character */ + cet_ucs4_cnt_ibm864, /* number of values in table */ + + cet_ucs4_to_ibm864_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm864_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm864_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00b0, 0x00b7, 0x2218, 0x221a, 0x2592, 0x2500, 0x2502, 0x253c, + 0x2524, 0x252c, 0x251c, 0x2534, 0x2510, 0x250c, 0x2514, 0x2518, + 0x00df, 0x221e, 0x00f8, 0x00b1, 0x00bd, 0x00bc, 0x2248, 0x00ab, + 0x00bb, 0xfef7, 0xfef8, -1, -1, 0xfefb, 0xfefc, 0xe016, + -1, 0x00ad, 0xfe82, 0x00a3, 0x00a4, 0xfe84, -1, -1, + 0xfe8e, 0x0628, 0x062a, 0x062b, 0x060c, 0x062c, 0x062d, 0x062e, + 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, + 0x0668, 0x0669, 0x06a4, 0x061b, 0x0633, 0x0634, 0x0635, 0x061f, + 0x00a2, 0x0621, 0x0622, 0x0623, 0x0624, 0xfeca, 0x0626, 0x0627, + 0xfe91, 0x0629, 0xfe97, 0xfe9b, 0xfe9f, 0xfea3, 0xfea7, 0x062f, + 0x0630, 0x0631, 0x0632, 0xfeb3, 0xfeb7, 0xfebb, 0xfebf, 0x0637, + 0x0638, 0xfecb, 0xfecf, 0x00a6, 0x00ac, 0x00f7, 0x00d7, 0x0639, + 0x0640, 0xfed2, 0xfed6, 0xfedb, 0xfede, 0xfee3, 0xfee6, 0xfeeb, + 0x0648, 0x0649, 0xfef3, 0x0636, 0xfee2, 0xfece, 0x063a, 0x0645, + 0xfe7d, 0x0651, 0x0646, 0x0647, 0xfeec, 0xfef0, 0xfef2, 0x0641, + 0x0642, 0xfef5, 0xfef6, 0x0644, 0x0643, 0x064a, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm865.h b/gpsbabel/cet/ibm865.h new file mode 100644 index 000000000..c78f8a12b --- /dev/null +++ b/gpsbabel/cet/ibm865.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM865" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm865_h +#define ibm865_h + +#define cet_cs_name_ibm865 "IBM865" + +const char *cet_cs_alias_ibm865[] = +{ + "IBM865/CR-LF", "865/CR-LF", "CP865/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm865 128 +#define cet_ucs4_cnt_ibm865 128 + +const int cet_ucs4_map_ibm865[cet_ucs4_cnt_ibm865] = +{ + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm865_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_ibm865_links[cet_ucs4_to_ibm865_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a1, 0xad} /* exclamation mark */, + {0x00a3, 0x9c} /* sign */, + {0x00aa, 0xa6} /* ordinal indicator */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0xaa} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b5, 0xe6} /* sign */, + {0x00b7, 0xf9} /* dot */, + {0x00ba, 0xa7} /* ordinal indicator */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00bd, 0xab} /* fraction one half */, + {0x00bf, 0xa8} /* question mark */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c5, 0x8f} /* capital letter a with ring above */, + {0x00c6, 0x92} /* capital letter ae */, + {0x00c7, 0x80} /* capital letter c with cedilla */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00d1, 0xa5} /* capital letter n with tilde */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00d8, 0x9d} /* capital letter o with stroke */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00df, 0xe1} /* small letter sharp s (german) */, + {0x00e0, 0x85} /* small letter a with grave */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e2, 0x83} /* small letter a with circumflex */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e5, 0x86} /* small letter a with ring above */, + {0x00e6, 0x91} /* small letter ae */, + {0x00e7, 0x87} /* small letter c with cedilla */, + {0x00e8, 0x8a} /* small letter e with grave */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ea, 0x88} /* small letter e with circumflex */, + {0x00eb, 0x89} /* small letter e with diaeresis */, + {0x00ec, 0x8d} /* small letter i with grave */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00ee, 0x8c} /* small letter i with circumflex */, + {0x00ef, 0x8b} /* small letter i with diaeresis */, + {0x00f1, 0xa4} /* small letter n with tilde */, + {0x00f2, 0x95} /* small letter o with grave */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00f8, 0x9b} /* small letter o with stroke */, + {0x00f9, 0x97} /* small letter u with grave */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fb, 0x96} /* small letter u with circumflex */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00ff, 0x98} /* small letter y with diaeresis */, + {0x0192, 0x9f} /* minuscule latine f hameçon */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x2022, 0xfa} /* puce */, + {0x207f, 0xfc} /* latin small letter n */, + {0x20a7, 0x9e} /* sign */, + {0x2205, 0xed} /* set */, + {0x2218, 0xf8} /* operator */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2310, 0xa9} /* not sign */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm865_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm865_extra[cet_ucs4_to_ibm865_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm865 = /* defined in cet.h */ +{ + cet_cs_name_ibm865, /* name of character set */ + cet_cs_alias_ibm865, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm865, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm865, /* first non standard character */ + cet_ucs4_cnt_ibm865, /* number of values in table */ + + cet_ucs4_to_ibm865_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm865_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm865_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c7, 0x00fc, 0x00e9, 0x00e2, 0x00e4, 0x00e0, 0x00e5, 0x00e7, + 0x00ea, 0x00eb, 0x00e8, 0x00ef, 0x00ee, 0x00ec, 0x00c4, 0x00c5, + 0x00c9, 0x00e6, 0x00c6, 0x00f4, 0x00f6, 0x00f2, 0x00fb, 0x00f9, + 0x00ff, 0x00d6, 0x00dc, 0x00f8, 0x00a3, 0x00d8, 0x20a7, 0x0192, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x00f1, 0x00d1, 0x00aa, 0x00ba, + 0x00bf, 0x2310, 0x00ac, 0x00bd, 0x00bc, 0x00a1, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x00df, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x00b5, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2022, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm868.h b/gpsbabel/cet/ibm868.h new file mode 100644 index 000000000..5d9ac2728 --- /dev/null +++ b/gpsbabel/cet/ibm868.h @@ -0,0 +1,232 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM868" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm868_h +#define ibm868_h + +#define cet_cs_name_ibm868 "IBM868" + +const char *cet_cs_alias_ibm868[] = +{ + "IBM868/CR-LF", "868/CR-LF", "CP868/CR-LF", "cp-ar", + NULL +}; + +#define cet_ucs4_ofs_ibm868 128 +#define cet_ucs4_cnt_ibm868 128 + +const int cet_ucs4_map_ibm868[cet_ucs4_cnt_ibm868] = +{ + 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, + 0x0668, 0x0669, 0x060c, 0x061b, 0x061f, 0x0622, 0x0627, 0xfe8e, + 0xe016, 0x0628, 0xfe91, 0x067e, -1, 0x0629, 0x062a, 0xfe97, + -1, -1, 0x062b, 0xfe9b, 0x062c, 0xfe9f, -1, -1, + 0x062d, 0xfea3, 0x062e, 0xfea7, 0x062f, -1, 0x0630, 0x0631, + -1, 0x0632, -1, 0x0633, 0xfeb3, 0x0634, 0x00ab, 0x00bb, + 0xfeb7, 0x0635, 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0xfebb, + 0x0636, 0xfebf, 0x0637, 0x2563, 0x2551, 0x2557, 0x255d, 0x0638, + 0x0639, 0x2510, 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, + 0xfeca, 0xfecb, 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, + 0x256c, 0xfecc, 0x063a, 0xfece, 0xfecf, 0xfed0, 0x0641, 0xfed3, + 0x0642, 0xfed7, 0xfeda, 0x2518, 0x250c, 0x2588, 0x2580, 0xfedb, + -1, 0x2584, -1, 0x0644, 0xfede, 0xfee0, 0x0645, 0xfee3, + -1, 0x0646, 0xfee7, -1, 0x0648, -1, -1, -1, + -1, 0x0621, 0x00ad, -1, -1, -1, -1, -1, + -1, -1, -1, 0x0651, 0xfe7d, -1, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm868_ct 103 + +const cet_ucs4_link_t cet_ucs4_to_ibm868_links[cet_ucs4_to_ibm868_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ad, 0xf2} /* hyphen */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x060c, 0x8a} /* comma */, + {0x061b, 0x8b} /* semicolon */, + {0x061f, 0x8c} /* question mark */, + {0x0621, 0xf1} /* letter hamza */, + {0x0622, 0x8d} /* letter alef with madda above */, + {0x0627, 0x8e} /* letter alef */, + {0x0628, 0x91} /* letter beh */, + {0x0629, 0x95} /* letter teh marbuta */, + {0x062a, 0x96} /* letter teh */, + {0x062b, 0x9a} /* letter theh */, + {0x062c, 0x9c} /* letter jeem */, + {0x062d, 0xa0} /* letter hah */, + {0x062e, 0xa2} /* letter khah */, + {0x062f, 0xa4} /* letter dal */, + {0x0630, 0xa6} /* letter thal */, + {0x0631, 0xa7} /* letter reh */, + {0x0632, 0xa9} /* letter zain */, + {0x0633, 0xab} /* letter seen */, + {0x0634, 0xad} /* letter sheen */, + {0x0635, 0xb1} /* letter sad */, + {0x0636, 0xb8} /* letter dad */, + {0x0637, 0xba} /* letter tah */, + {0x0638, 0xbf} /* letter zah */, + {0x0639, 0xc0} /* letter ain */, + {0x063a, 0xd2} /* letter ghain */, + {0x0641, 0xd6} /* letter feh */, + {0x0642, 0xd8} /* letter qaf */, + {0x0644, 0xe3} /* letter lam */, + {0x0645, 0xe6} /* letter meem */, + {0x0646, 0xe9} /* letter noon */, + {0x0648, 0xec} /* letter waw */, + {0x0651, 0xfb} /* shadda */, + {0x0660, 0x80} /* arabic-indic digit zero */, + {0x0661, 0x81} /* arabic-indic digit one */, + {0x0662, 0x82} /* arabic-indic digit two */, + {0x0663, 0x83} /* arabic-indic digit three */, + {0x0664, 0x84} /* arabic-indic digit four */, + {0x0665, 0x85} /* arabic-indic digit five */, + {0x0666, 0x86} /* arabic-indic digit six */, + {0x0667, 0x87} /* arabic-indic digit seven */, + {0x0668, 0x88} /* arabic-indic digit eight */, + {0x0669, 0x89} /* arabic-indic digit nine */, + {0x067e, 0x93} /* letter peh */, + {0x2500, 0xc6} /* drawings light horizontal */, + {0x2502, 0xb5} /* drawings light vertical */, + {0x250c, 0xdc} /* drawings light down and right */, + {0x2510, 0xc1} /* drawings light down and left */, + {0x2514, 0xc2} /* drawings light up and right */, + {0x2518, 0xdb} /* drawings light up and left */, + {0x251c, 0xc5} /* drawings light vertical and right */, + {0x2524, 0xb6} /* drawings light vertical and left */, + {0x252c, 0xc4} /* drawings light down and horizontal */, + {0x2534, 0xc3} /* drawings light up and horizontal */, + {0x253c, 0xc7} /* drawings light vertical and horizontal */, + {0x2550, 0xcf} /* drawings heavy horizontal */, + {0x2551, 0xbc} /* drawings heavy vertical */, + {0x2554, 0xcb} /* drawings heavy down and right */, + {0x2557, 0xbd} /* drawings heavy down and left */, + {0x255a, 0xca} /* drawings heavy up and right */, + {0x255d, 0xbe} /* drawings heavy up and left */, + {0x2560, 0xce} /* drawings heavy vertical and right */, + {0x2563, 0xbb} /* drawings heavy vertical and left */, + {0x2566, 0xcd} /* drawings heavy down and horizontal */, + {0x2569, 0xcc} /* drawings heavy up and horizontal */, + {0x256c, 0xd0} /* drawings heavy vertical and horizontal */, + {0x2580, 0xde} /* half block */, + {0x2584, 0xe1} /* half block */, + {0x2588, 0xdd} /* block */, + {0x2591, 0xb2} /* shade */, + {0x2592, 0xb3} /* shade */, + {0x2593, 0xb4} /* shade */, + {0x25a0, 0xfe} /* square */, + {0xe016, 0x90} /* letter alef final form compatibility (ibm868 144) */, + {0xfe7d, 0xfc} /* shadda medial form */, + {0xfe8e, 0x8f} /* letter alef final form */, + {0xfe91, 0x92} /* letter beh initial form */, + {0xfe97, 0x97} /* letter teh initial form */, + {0xfe9b, 0x9b} /* letter theh initial form */, + {0xfe9f, 0x9d} /* letter jeem initial form */, + {0xfea3, 0xa1} /* letter hah initial form */, + {0xfea7, 0xa3} /* letter khah initial form */, + {0xfeb3, 0xac} /* letter seen initial form */, + {0xfeb7, 0xb0} /* letter sheen initial form */, + {0xfebb, 0xb7} /* letter sad initial form */, + {0xfebf, 0xb9} /* letter dad initial form */, + {0xfeca, 0xc8} /* letter ain final form */, + {0xfecb, 0xc9} /* letter ain initial form */, + {0xfecc, 0xd1} /* letter ain medial form */, + {0xfece, 0xd3} /* letter ghain final form */, + {0xfecf, 0xd4} /* letter ghain initial form */, + {0xfed0, 0xd5} /* letter ghain medial form */, + {0xfed3, 0xd7} /* letter feh initial form */, + {0xfed7, 0xd9} /* letter qaf initial form */, + {0xfeda, 0xda} /* letter kaf final form */, + {0xfedb, 0xdf} /* letter kaf initial form */, + {0xfede, 0xe4} /* letter lam final form */, + {0xfee0, 0xe5} /* letter lam medial form */, + {0xfee3, 0xe7} /* letter meem initial form */, + {0xfee7, 0xea} /* letter noon initial form */ +}; + +/* +#define cet_ucs4_to_ibm868_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm868_extra[cet_ucs4_to_ibm868_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm868 = /* defined in cet.h */ +{ + cet_cs_name_ibm868, /* name of character set */ + cet_cs_alias_ibm868, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm868, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm868, /* first non standard character */ + cet_ucs4_cnt_ibm868, /* number of values in table */ + + cet_ucs4_to_ibm868_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm868_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm868_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0660, 0x0661, 0x0662, 0x0663, 0x0664, 0x0665, 0x0666, 0x0667, + 0x0668, 0x0669, 0x060c, 0x061b, 0x061f, 0x0622, 0x0627, 0xfe8e, + 0xe016, 0x0628, 0xfe91, 0x067e, -1, 0x0629, 0x062a, 0xfe97, + -1, -1, 0x062b, 0xfe9b, 0x062c, 0xfe9f, -1, -1, + 0x062d, 0xfea3, 0x062e, 0xfea7, 0x062f, -1, 0x0630, 0x0631, + -1, 0x0632, -1, 0x0633, 0xfeb3, 0x0634, 0x00ab, 0x00bb, + 0xfeb7, 0x0635, 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0xfebb, + 0x0636, 0xfebf, 0x0637, 0x2563, 0x2551, 0x2557, 0x255d, 0x0638, + 0x0639, 0x2510, 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, + 0xfeca, 0xfecb, 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, + 0x256c, 0xfecc, 0x063a, 0xfece, 0xfecf, 0xfed0, 0x0641, 0xfed3, + 0x0642, 0xfed7, 0xfeda, 0x2518, 0x250c, 0x2588, 0x2580, 0xfedb, + -1, 0x2584, -1, 0x0644, 0xfede, 0xfee0, 0x0645, 0xfee3, + -1, 0x0646, 0xfee7, -1, 0x0648, -1, -1, -1, + -1, 0x0621, 0x00ad, -1, -1, -1, -1, -1, + -1, -1, -1, 0x0651, 0xfe7d, -1, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm869.h b/gpsbabel/cet/ibm869.h new file mode 100644 index 000000000..fe2316021 --- /dev/null +++ b/gpsbabel/cet/ibm869.h @@ -0,0 +1,248 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM869" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm869_h +#define ibm869_h + +#define cet_cs_name_ibm869 "IBM869" + +const char *cet_cs_alias_ibm869[] = +{ + "IBM869/CR-LF", "869/CR-LF", "CP869/CR-LF", "cp-gr", + NULL +}; + +#define cet_ucs4_ofs_ibm869 128 +#define cet_ucs4_cnt_ibm869 128 + +const int cet_ucs4_map_ibm869[cet_ucs4_cnt_ibm869] = +{ + -1, -1, -1, -1, -1, -1, 0x0386, -1, + 0x00b7, 0x00ac, 0x00a6, 0x201b, 0x2019, 0x0388, 0x2014, 0x0389, + 0x038a, 0x03aa, 0x038c, -1, -1, 0x038e, 0x03ab, 0x00a9, + 0x038f, 0x00b2, 0x00b3, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af, + 0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394, + 0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039c, + 0x039d, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3, + 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2, + 0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580, + 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, + 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x00b4, + 0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x0385, + 0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_ibm869_ct 119 + +const cet_ucs4_link_t cet_ucs4_to_ibm869_links[cet_ucs4_to_ibm869_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a3, 0x9c} /* sign */, + {0x00a6, 0x8a} /* bar */, + {0x00a7, 0xf5} /* sign */, + {0x00a8, 0xf9} /* diaeresis */, + {0x00a9, 0x97} /* sign */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00ac, 0x89} /* sign */, + {0x00ad, 0xf0} /* hyphen */, + {0x00b0, 0xf8} /* sign */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0x99} /* two */, + {0x00b3, 0x9a} /* three */, + {0x00b4, 0xef} /* accent */, + {0x00b7, 0x88} /* dot */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bd, 0xab} /* fraction one half */, + {0x0385, 0xf7} /* accent and diaeresis (tonos and dialytika) */, + {0x0386, 0x86} /* capital letter alpha with acute */, + {0x0388, 0x8d} /* capital letter epsilon with acute */, + {0x0389, 0x8f} /* capital letter eta with acute */, + {0x038a, 0x90} /* capital letter iota with acute */, + {0x038c, 0x92} /* capital letter omicron with acute */, + {0x038e, 0x95} /* capital letter upsilon with acute */, + {0x038f, 0x98} /* capital letter omega with acute */, + {0x0390, 0xa1} /* small letter iota with acute and diaeresis */, + {0x0391, 0xa4} /* capital letter alpha */, + {0x0392, 0xa5} /* capital letter beta */, + {0x0393, 0xa6} /* capital letter gamma */, + {0x0394, 0xa7} /* capital letter delta */, + {0x0395, 0xa8} /* capital letter epsilon */, + {0x0396, 0xa9} /* capital letter zeta */, + {0x0397, 0xaa} /* capital letter eta */, + {0x0398, 0xac} /* capital letter theta */, + {0x0399, 0xad} /* capital letter iota */, + {0x039a, 0xb5} /* capital letter kappa */, + {0x039b, 0xb6} /* capital letter lamda */, + {0x039c, 0xb7} /* capital letter mu */, + {0x039d, 0xb8} /* capital letter nu */, + {0x039e, 0xbd} /* capital letter xi */, + {0x039f, 0xbe} /* capital letter omicron */, + {0x03a0, 0xc6} /* capital letter pi */, + {0x03a1, 0xc7} /* capital letter rho */, + {0x03a3, 0xcf} /* capital letter sigma */, + {0x03a4, 0xd0} /* capital letter tau */, + {0x03a5, 0xd1} /* capital letter upsilon */, + {0x03a6, 0xd2} /* capital letter phi */, + {0x03a7, 0xd3} /* capital letter chi */, + {0x03a8, 0xd4} /* capital letter psi */, + {0x03a9, 0xd5} /* capital letter omega */, + {0x03aa, 0x91} /* capital letter iota with diaeresis */, + {0x03ab, 0x96} /* capital letter upsilon with diaeresis */, + {0x03ac, 0x9b} /* small letter alpha with acute */, + {0x03ad, 0x9d} /* small letter epsilon with acute */, + {0x03ae, 0x9e} /* small letter eta with acute */, + {0x03af, 0x9f} /* small letter iota with acute */, + {0x03b0, 0xfc} /* small letter upsilon with acute and diaeresis */, + {0x03b1, 0xd6} /* small letter alpha */, + {0x03b2, 0xd7} /* small letter beta */, + {0x03b3, 0xd8} /* small letter gamma */, + {0x03b4, 0xdd} /* small letter delta */, + {0x03b5, 0xde} /* small letter epsilon */, + {0x03b6, 0xe0} /* small letter zeta */, + {0x03b7, 0xe1} /* small letter eta */, + {0x03b8, 0xe2} /* small letter theta */, + {0x03b9, 0xe3} /* small letter iota */, + {0x03ba, 0xe4} /* small letter kappa */, + {0x03bb, 0xe5} /* small letter lamda */, + {0x03bc, 0xe6} /* small letter mu */, + {0x03bd, 0xe7} /* small letter nu */, + {0x03be, 0xe8} /* small letter xi */, + {0x03bf, 0xe9} /* small letter omicron */, + {0x03c0, 0xea} /* small letter pi */, + {0x03c1, 0xeb} /* small letter rho */, + {0x03c2, 0xed} /* small letter final sigma */, + {0x03c3, 0xec} /* small letter sigma */, + {0x03c4, 0xee} /* small letter tau */, + {0x03c5, 0xf2} /* small letter upsilon */, + {0x03c6, 0xf3} /* small letter phi */, + {0x03c7, 0xf4} /* small letter chi */, + {0x03c8, 0xf6} /* small letter psi */, + {0x03c9, 0xfa} /* small letter omega */, + {0x03ca, 0xa0} /* small letter iota with diaeresis */, + {0x03cb, 0xfb} /* small letter upsilon with diaeresis */, + {0x03cc, 0xa2} /* small letter omicron with acute */, + {0x03cd, 0xa3} /* small letter upsilon with acute */, + {0x03ce, 0xfd} /* small letter omega with acute */, + {0x2014, 0x8e} /* dash */, + {0x2019, 0x8c} /* single quotation mark */, + {0x201b, 0x8b} /* high-reversed-9 quotation mark */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_ibm869_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm869_extra[cet_ucs4_to_ibm869_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm869 = /* defined in cet.h */ +{ + cet_cs_name_ibm869, /* name of character set */ + cet_cs_alias_ibm869, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm869, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm869, /* first non standard character */ + cet_ucs4_cnt_ibm869, /* number of values in table */ + + cet_ucs4_to_ibm869_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm869_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm869_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, 0x0386, -1, + 0x00b7, 0x00ac, 0x00a6, 0x201b, 0x2019, 0x0388, 0x2014, 0x0389, + 0x038a, 0x03aa, 0x038c, -1, -1, 0x038e, 0x03ab, 0x00a9, + 0x038f, 0x00b2, 0x00b3, 0x03ac, 0x00a3, 0x03ad, 0x03ae, 0x03af, + 0x03ca, 0x0390, 0x03cc, 0x03cd, 0x0391, 0x0392, 0x0393, 0x0394, + 0x0395, 0x0396, 0x0397, 0x00bd, 0x0398, 0x0399, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x039a, 0x039b, 0x039c, + 0x039d, 0x2563, 0x2551, 0x2557, 0x255d, 0x039e, 0x039f, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x03a0, 0x03a1, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x03a3, + 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, 0x03a9, 0x03b1, 0x03b2, + 0x03b3, 0x2518, 0x250c, 0x2588, 0x2584, 0x03b4, 0x03b5, 0x2580, + 0x03b6, 0x03b7, 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, + 0x03be, 0x03bf, 0x03c0, 0x03c1, 0x03c3, 0x03c2, 0x03c4, 0x00b4, + 0x00ad, 0x00b1, 0x03c5, 0x03c6, 0x03c7, 0x00a7, 0x03c8, 0x0385, + 0x00b0, 0x00a8, 0x03c9, 0x03cb, 0x03b0, 0x03ce, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm871.h b/gpsbabel/cet/ibm871.h new file mode 100644 index 000000000..5edc574ac --- /dev/null +++ b/gpsbabel/cet/ibm871.h @@ -0,0 +1,381 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM871" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm871_h +#define ibm871_h + +#define cet_cs_name_ibm871 "IBM871" + +const char *cet_cs_alias_ibm871[] = +{ + "IBM871/CR-LF", "871/CR-LF", "CP871/CR-LF", "ebcdic-cp-is", + NULL +}; + +#define cet_ucs4_ofs_ibm871 4 +#define cet_ucs4_cnt_ibm871 252 + +const int cet_ucs4_map_ibm871[cet_ucs4_cnt_ibm871] = +{ + 0x009c, 0x0009, 0x0086, 0x007f, 0x0097, 0x008d, 0x008e, 0x000b, + 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, 0x0012, 0x0013, + 0x009d, 0x0085, 0x0008, 0x0087, 0x0018, 0x0019, 0x0092, 0x008f, + 0x001c, 0x001d, 0x001e, 0x001f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x000a, 0x0017, 0x001b, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x0005, 0x0006, 0x0007, 0x0090, 0x0091, 0x0016, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0004, 0x0098, 0x0099, 0x009a, 0x009b, + 0x0014, 0x0015, 0x009e, 0x001a, 0x0020, 0x00a0, 0x00e2, 0x00e4, + 0x00e0, 0x00e1, 0x00e3, 0x00e5, 0x00e7, 0x00f1, 0x00fe, 0x002e, + 0x003c, 0x0028, 0x002b, 0x0021, 0x0026, 0x00e9, 0x00ea, 0x00eb, + 0x00e8, 0x00ed, 0x00ee, 0x00ef, 0x00ec, 0x00df, 0x00c6, 0x0024, + 0x002a, 0x0029, 0x003b, 0x00d6, 0x002d, 0x002f, 0x00c2, 0x00c4, + 0x00c0, 0x00c1, 0x00c3, 0x00c5, 0x00c7, 0x00d1, 0x00a6, 0x002c, + 0x0025, 0x005f, 0x003e, 0x003f, 0x00f8, 0x00c9, 0x00ca, 0x00cb, + 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00f0, 0x003a, 0x0023, + 0x00d0, 0x0027, 0x003d, 0x0022, 0x00d8, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x00ab, 0x00bb, + 0x0060, 0x00fd, 0x007b, 0x00b1, 0x00b0, 0x006a, 0x006b, 0x006c, + 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x00aa, 0x00ba, + 0x007d, 0x00b8, 0x005d, 0x00a4, 0x00b5, 0x00f6, 0x0073, 0x0074, + 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00a1, 0x00bf, + 0x0040, 0x00dd, 0x005b, 0x00ae, 0x00a2, 0x00a3, 0x00a5, 0x00b7, + 0x00a9, 0x00a7, 0x00b6, 0x00bc, 0x00bd, 0x00be, 0x00ac, 0x007c, + 0x00af, 0x00a8, 0x005c, 0x00d7, 0x00de, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x00ad, 0x00f4, + 0x007e, 0x00f2, 0x00f3, 0x00f5, 0x00e6, 0x004a, 0x004b, 0x004c, + 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x00b9, 0x00fb, + 0x00fc, 0x00f9, 0x00fa, 0x00ff, 0x00b4, 0x00f7, 0x0053, 0x0054, + 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00b2, 0x00d4, + 0x005e, 0x00d2, 0x00d3, 0x00d5, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x00b3, 0x00db, + 0x00dc, 0x00d9, 0x00da, 0x009f +}; + +#define cet_ucs4_to_ibm871_ct 236 + +const cet_ucs4_link_t cet_ucs4_to_ibm871_links[cet_ucs4_to_ibm871_ct] = +{ + {0x0004, 0x37} /* of transmission (eot) */, + {0x0005, 0x2d} /* (enq) */, + {0x0006, 0x2e} /* (ack) */, + {0x0007, 0x2f} /* (bel) */, + {0x0008, 0x16} /* (bs) */, + {0x0009, 0x05} /* tabulation (ht) */, + {0x000a, 0x25} /* feed (lf) */, + {0x0014, 0x3c} /* control four (dc4) */, + {0x0015, 0x3d} /* acknowledge (nak) */, + {0x0016, 0x32} /* idle (syn) */, + {0x0017, 0x26} /* of transmission block (etb) */, + {0x001a, 0x3f} /* (sub) */, + {0x001b, 0x27} /* (esc) */, + {0x0020, 0x40} /* space */, + {0x0021, 0x4f} /* mark */, + {0x0022, 0x7f} /* mark */, + {0x0023, 0x7b} /* sign */, + {0x0024, 0x5b} /* sign */, + {0x0025, 0x6c} /* sign */, + {0x0026, 0x50} /* ampersand */, + {0x0027, 0x7d} /* apostrophe */, + {0x0028, 0x4d} /* parenthesis */, + {0x0029, 0x5d} /* parenthesis */, + {0x002a, 0x5c} /* asterisk */, + {0x002b, 0x4e} /* sign */, + {0x002c, 0x6b} /* comma */, + {0x002d, 0x60} /* hyphen-minus */, + {0x002e, 0x4b} /* stop */, + {0x002f, 0x61} /* solidus */, + {0x0030, 0xf0} /* zero */, + {0x0031, 0xf1} /* one */, + {0x0032, 0xf2} /* two */, + {0x0033, 0xf3} /* three */, + {0x0034, 0xf4} /* four */, + {0x0035, 0xf5} /* five */, + {0x0036, 0xf6} /* six */, + {0x0037, 0xf7} /* seven */, + {0x0038, 0xf8} /* eight */, + {0x0039, 0xf9} /* nine */, + {0x003a, 0x7a} /* colon */, + {0x003b, 0x5e} /* semicolon */, + {0x003c, 0x4c} /* sign */, + {0x003d, 0x7e} /* sign */, + {0x003e, 0x6e} /* sign */, + {0x003f, 0x6f} /* mark */, + {0x0040, 0xac} /* at */, + {0x0041, 0xc1} /* capital letter a */, + {0x0042, 0xc2} /* capital letter b */, + {0x0043, 0xc3} /* capital letter c */, + {0x0044, 0xc4} /* capital letter d */, + {0x0045, 0xc5} /* capital letter e */, + {0x0046, 0xc6} /* capital letter f */, + {0x0047, 0xc7} /* capital letter g */, + {0x0048, 0xc8} /* capital letter h */, + {0x0049, 0xc9} /* capital letter i */, + {0x004a, 0xd1} /* capital letter j */, + {0x004b, 0xd2} /* capital letter k */, + {0x004c, 0xd3} /* capital letter l */, + {0x004d, 0xd4} /* capital letter m */, + {0x004e, 0xd5} /* capital letter n */, + {0x004f, 0xd6} /* capital letter o */, + {0x0050, 0xd7} /* capital letter p */, + {0x0051, 0xd8} /* capital letter q */, + {0x0052, 0xd9} /* capital letter r */, + {0x0053, 0xe2} /* capital letter s */, + {0x0054, 0xe3} /* capital letter t */, + {0x0055, 0xe4} /* capital letter u */, + {0x0056, 0xe5} /* capital letter v */, + {0x0057, 0xe6} /* capital letter w */, + {0x0058, 0xe7} /* capital letter x */, + {0x0059, 0xe8} /* capital letter y */, + {0x005a, 0xe9} /* capital letter z */, + {0x005b, 0xae} /* square bracket */, + {0x005c, 0xbe} /* solidus */, + {0x005d, 0x9e} /* square bracket */, + {0x005e, 0xec} /* accent */, + {0x005f, 0x6d} /* line */, + {0x0060, 0x8c} /* accent */, + {0x0061, 0x81} /* small letter a */, + {0x0062, 0x82} /* small letter b */, + {0x0063, 0x83} /* small letter c */, + {0x0064, 0x84} /* small letter d */, + {0x0065, 0x85} /* small letter e */, + {0x0066, 0x86} /* small letter f */, + {0x0067, 0x87} /* small letter g */, + {0x0068, 0x88} /* small letter h */, + {0x0069, 0x89} /* small letter i */, + {0x006a, 0x91} /* small letter j */, + {0x006b, 0x92} /* small letter k */, + {0x006c, 0x93} /* small letter l */, + {0x006d, 0x94} /* small letter m */, + {0x006e, 0x95} /* small letter n */, + {0x006f, 0x96} /* small letter o */, + {0x0070, 0x97} /* small letter p */, + {0x0071, 0x98} /* small letter q */, + {0x0072, 0x99} /* small letter r */, + {0x0073, 0xa2} /* small letter s */, + {0x0074, 0xa3} /* small letter t */, + {0x0075, 0xa4} /* small letter u */, + {0x0076, 0xa5} /* small letter v */, + {0x0077, 0xa6} /* small letter w */, + {0x0078, 0xa7} /* small letter x */, + {0x0079, 0xa8} /* small letter y */, + {0x007a, 0xa9} /* small letter z */, + {0x007b, 0x8e} /* curly bracket */, + {0x007c, 0xbb} /* line */, + {0x007d, 0x9c} /* curly bracket */, + {0x007e, 0xcc} /* tilde */, + {0x007f, 0x07} /* (del) */, + {0x0080, 0x20} /* character (pad) */, + {0x0081, 0x21} /* octet preset (hop) */, + {0x0082, 0x22} /* permitted here (bph) */, + {0x0083, 0x23} /* break here (nbh) */, + {0x0084, 0x24} /* (ind) */, + {0x0085, 0x15} /* line (nel) */, + {0x0086, 0x06} /* of selected area (ssa) */, + {0x0087, 0x17} /* of selected area (esa) */, + {0x0088, 0x28} /* tabulation set (hts) */, + {0x0089, 0x29} /* tabulation with justification (htj) */, + {0x008a, 0x2a} /* tabulation set (vts) */, + {0x008b, 0x2b} /* line forward (pld) */, + {0x008c, 0x2c} /* line backward (plu) */, + {0x008d, 0x09} /* line feed (ri) */, + {0x008e, 0x0a} /* two (ss2) */, + {0x008f, 0x1b} /* three (ss3) */, + {0x0090, 0x30} /* control string (dcs) */, + {0x0091, 0x31} /* use one (pu1) */, + {0x0092, 0x1a} /* use two (pu2) */, + {0x0093, 0x33} /* transmit state (sts) */, + {0x0094, 0x34} /* character (cch) */, + {0x0095, 0x35} /* waiting (mw) */, + {0x0096, 0x36} /* of guarded area (spa) */, + {0x0097, 0x08} /* of guarded area (epa) */, + {0x0098, 0x38} /* of string (sos) */, + {0x0099, 0x39} /* graphic character introducer (sgci) */, + {0x009a, 0x3a} /* character introducer (sci) */, + {0x009b, 0x3b} /* sequence introducer (csi) */, + {0x009c, 0x04} /* terminator (st) */, + {0x009d, 0x14} /* system command (osc) */, + {0x009e, 0x3e} /* message (pm) */, + {0x009f, 0xff} /* program command (apc) */, + {0x00a0, 0x41} /* space */, + {0x00a1, 0xaa} /* exclamation mark */, + {0x00a2, 0xb0} /* sign */, + {0x00a3, 0xb1} /* sign */, + {0x00a4, 0x9f} /* sign */, + {0x00a5, 0xb2} /* sign */, + {0x00a6, 0x6a} /* bar */, + {0x00a7, 0xb5} /* sign */, + {0x00a8, 0xbd} /* diaeresis */, + {0x00a9, 0xb4} /* sign */, + {0x00aa, 0x9a} /* ordinal indicator */, + {0x00ab, 0x8a} /* double angle quotation mark */, + {0x00ac, 0xba} /* sign */, + {0x00ad, 0xca} /* hyphen */, + {0x00ae, 0xaf} /* sign */, + {0x00af, 0xbc} /* macron */, + {0x00b0, 0x90} /* sign */, + {0x00b1, 0x8f} /* sign */, + {0x00b2, 0xea} /* two */, + {0x00b3, 0xfa} /* three */, + {0x00b4, 0xe0} /* accent */, + {0x00b5, 0xa0} /* sign */, + {0x00b7, 0xb3} /* dot */, + {0x00b8, 0x9d} /* cedilla */, + {0x00b9, 0xda} /* one */, + {0x00ba, 0x9b} /* ordinal indicator */, + {0x00bb, 0x8b} /* double angle quotation mark */, + {0x00bc, 0xb7} /* fraction one quarter */, + {0x00bd, 0xb8} /* fraction one half */, + {0x00be, 0xb9} /* fraction three quarters */, + {0x00bf, 0xab} /* question mark */, + {0x00c0, 0x64} /* capital letter a with grave */, + {0x00c1, 0x65} /* capital letter a with acute */, + {0x00c2, 0x62} /* capital letter a with circumflex */, + {0x00c3, 0x66} /* capital letter a with tilde */, + {0x00c4, 0x63} /* capital letter a with diaeresis */, + {0x00c5, 0x67} /* capital letter a with ring above */, + {0x00c6, 0x5a} /* capital letter ae */, + {0x00c7, 0x68} /* capital letter c with cedilla */, + {0x00c8, 0x74} /* capital letter e with grave */, + {0x00c9, 0x71} /* capital letter e with acute */, + {0x00ca, 0x72} /* capital letter e with circumflex */, + {0x00cb, 0x73} /* capital letter e with diaeresis */, + {0x00cc, 0x78} /* capital letter i with grave */, + {0x00cd, 0x75} /* capital letter i with acute */, + {0x00ce, 0x76} /* capital letter i with circumflex */, + {0x00cf, 0x77} /* capital letter i with diaeresis */, + {0x00d0, 0x7c} /* capital letter eth (icelandic) */, + {0x00d1, 0x69} /* capital letter n with tilde */, + {0x00d2, 0xed} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xeb} /* capital letter o with circumflex */, + {0x00d5, 0xef} /* capital letter o with tilde */, + {0x00d6, 0x5f} /* capital letter o with diaeresis */, + {0x00d7, 0xbf} /* sign */, + {0x00d8, 0x80} /* capital letter o with stroke */, + {0x00d9, 0xfd} /* capital letter u with grave */, + {0x00da, 0xfe} /* capital letter u with acute */, + {0x00db, 0xfb} /* capital letter u with circumflex */, + {0x00dc, 0xfc} /* capital letter u with diaeresis */, + {0x00dd, 0xad} /* capital letter y with acute */, + {0x00de, 0xc0} /* capital letter thorn (icelandic) */, + {0x00df, 0x59} /* small letter sharp s (german) */, + {0x00e0, 0x44} /* small letter a with grave */, + {0x00e1, 0x45} /* small letter a with acute */, + {0x00e2, 0x42} /* small letter a with circumflex */, + {0x00e3, 0x46} /* small letter a with tilde */, + {0x00e4, 0x43} /* small letter a with diaeresis */, + {0x00e5, 0x47} /* small letter a with ring above */, + {0x00e6, 0xd0} /* small letter ae */, + {0x00e7, 0x48} /* small letter c with cedilla */, + {0x00e8, 0x54} /* small letter e with grave */, + {0x00e9, 0x51} /* small letter e with acute */, + {0x00ea, 0x52} /* small letter e with circumflex */, + {0x00eb, 0x53} /* small letter e with diaeresis */, + {0x00ec, 0x58} /* small letter i with grave */, + {0x00ed, 0x55} /* small letter i with acute */, + {0x00ee, 0x56} /* small letter i with circumflex */, + {0x00ef, 0x57} /* small letter i with diaeresis */, + {0x00f0, 0x79} /* small letter eth (icelandic) */, + {0x00f1, 0x49} /* small letter n with tilde */, + {0x00f2, 0xcd} /* small letter o with grave */, + {0x00f3, 0xce} /* small letter o with acute */, + {0x00f4, 0xcb} /* small letter o with circumflex */, + {0x00f5, 0xcf} /* small letter o with tilde */, + {0x00f6, 0xa1} /* small letter o with diaeresis */, + {0x00f7, 0xe1} /* sign */, + {0x00f8, 0x70} /* small letter o with stroke */, + {0x00f9, 0xdd} /* small letter u with grave */, + {0x00fa, 0xde} /* small letter u with acute */, + {0x00fb, 0xdb} /* small letter u with circumflex */, + {0x00fc, 0xdc} /* small letter u with diaeresis */, + {0x00fd, 0x8d} /* small letter y with acute */, + {0x00fe, 0x4a} /* small letter thorn (icelandic) */, + {0x00ff, 0xdf} /* small letter y with diaeresis */ +}; + +/* +#define cet_ucs4_to_ibm871_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm871_extra[cet_ucs4_to_ibm871_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm871 = /* defined in cet.h */ +{ + cet_cs_name_ibm871, /* name of character set */ + cet_cs_alias_ibm871, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm871, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm871, /* first non standard character */ + cet_ucs4_cnt_ibm871, /* number of values in table */ + + cet_ucs4_to_ibm871_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm871_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm871_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x009c, 0x0009, 0x0086, 0x007f, + 0x0097, 0x008d, 0x008e, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x009d, 0x0085, 0x0008, 0x0087, + 0x0018, 0x0019, 0x0092, 0x008f, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x000a, 0x0017, 0x001b, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x0005, 0x0006, 0x0007, + 0x0090, 0x0091, 0x0016, 0x0093, 0x0094, 0x0095, 0x0096, 0x0004, + 0x0098, 0x0099, 0x009a, 0x009b, 0x0014, 0x0015, 0x009e, 0x001a, + 0x0020, 0x00a0, 0x00e2, 0x00e4, 0x00e0, 0x00e1, 0x00e3, 0x00e5, + 0x00e7, 0x00f1, 0x00fe, 0x002e, 0x003c, 0x0028, 0x002b, 0x0021, + 0x0026, 0x00e9, 0x00ea, 0x00eb, 0x00e8, 0x00ed, 0x00ee, 0x00ef, + 0x00ec, 0x00df, 0x00c6, 0x0024, 0x002a, 0x0029, 0x003b, 0x00d6, + 0x002d, 0x002f, 0x00c2, 0x00c4, 0x00c0, 0x00c1, 0x00c3, 0x00c5, + 0x00c7, 0x00d1, 0x00a6, 0x002c, 0x0025, 0x005f, 0x003e, 0x003f, + 0x00f8, 0x00c9, 0x00ca, 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, + 0x00cc, 0x00f0, 0x003a, 0x0023, 0x00d0, 0x0027, 0x003d, 0x0022, + 0x00d8, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x00ab, 0x00bb, 0x0060, 0x00fd, 0x007b, 0x00b1, + 0x00b0, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x00aa, 0x00ba, 0x007d, 0x00b8, 0x005d, 0x00a4, + 0x00b5, 0x00f6, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x00a1, 0x00bf, 0x0040, 0x00dd, 0x005b, 0x00ae, + 0x00a2, 0x00a3, 0x00a5, 0x00b7, 0x00a9, 0x00a7, 0x00b6, 0x00bc, + 0x00bd, 0x00be, 0x00ac, 0x007c, 0x00af, 0x00a8, 0x005c, 0x00d7, + 0x00de, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x00ad, 0x00f4, 0x007e, 0x00f2, 0x00f3, 0x00f5, + 0x00e6, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x00b9, 0x00fb, 0x00fc, 0x00f9, 0x00fa, 0x00ff, + 0x00b4, 0x00f7, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x00b2, 0x00d4, 0x005e, 0x00d2, 0x00d3, 0x00d5, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x00b3, 0x00db, 0x00dc, 0x00d9, 0x00da, 0x009f +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm891.h b/gpsbabel/cet/ibm891.h new file mode 100644 index 000000000..0857712c0 --- /dev/null +++ b/gpsbabel/cet/ibm891.h @@ -0,0 +1,112 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM891" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm891_h +#define ibm891_h + +#define cet_cs_name_ibm891 "IBM891" + +const char *cet_cs_alias_ibm891[] = +{ + "IBM891/CR-LF", "891/CR-LF", "CP891/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm891 128 +#define cet_ucs4_cnt_ibm891 0 + +const int cet_ucs4_map_ibm891[cet_ucs4_cnt_ibm891] = +{ +}; + +#define cet_ucs4_to_ibm891_ct 0 + +const cet_ucs4_link_t cet_ucs4_to_ibm891_links[cet_ucs4_to_ibm891_ct] = +{ +}; + +/* +#define cet_ucs4_to_ibm891_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm891_extra[cet_ucs4_to_ibm891_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm891 = /* defined in cet.h */ +{ + cet_cs_name_ibm891, /* name of character set */ + cet_cs_alias_ibm891, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm891, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm891, /* first non standard character */ + cet_ucs4_cnt_ibm891, /* number of values in table */ + + cet_ucs4_to_ibm891_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm891_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm891_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm903.h b/gpsbabel/cet/ibm903.h new file mode 100644 index 000000000..28b9d2eb3 --- /dev/null +++ b/gpsbabel/cet/ibm903.h @@ -0,0 +1,112 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM903" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm903_h +#define ibm903_h + +#define cet_cs_name_ibm903 "IBM903" + +const char *cet_cs_alias_ibm903[] = +{ + "IBM903/CR-LF", "903/CR-LF", "CP903/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm903 128 +#define cet_ucs4_cnt_ibm903 0 + +const int cet_ucs4_map_ibm903[cet_ucs4_cnt_ibm903] = +{ +}; + +#define cet_ucs4_to_ibm903_ct 0 + +const cet_ucs4_link_t cet_ucs4_to_ibm903_links[cet_ucs4_to_ibm903_ct] = +{ +}; + +/* +#define cet_ucs4_to_ibm903_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm903_extra[cet_ucs4_to_ibm903_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm903 = /* defined in cet.h */ +{ + cet_cs_name_ibm903, /* name of character set */ + cet_cs_alias_ibm903, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm903, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm903, /* first non standard character */ + cet_ucs4_cnt_ibm903, /* number of values in table */ + + cet_ucs4_to_ibm903_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm903_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm903_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ibm904.h b/gpsbabel/cet/ibm904.h new file mode 100644 index 000000000..fdd5207bf --- /dev/null +++ b/gpsbabel/cet/ibm904.h @@ -0,0 +1,131 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IBM904" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ibm904_h +#define ibm904_h + +#define cet_cs_name_ibm904 "IBM904" + +const char *cet_cs_alias_ibm904[] = +{ + "IBM904/CR-LF", "904/CR-LF", "CP904/CR-LF", NULL +}; + +#define cet_ucs4_ofs_ibm904 128 +#define cet_ucs4_cnt_ibm904 127 + +const int cet_ucs4_map_ibm904[cet_ucs4_cnt_ibm904] = +{ + 0x00a2, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 0x00ac, 0x00a6 +}; + +#define cet_ucs4_to_ibm904_ct 3 + +const cet_ucs4_link_t cet_ucs4_to_ibm904_links[cet_ucs4_to_ibm904_ct] = +{ + {0x00a2, 0x80} /* sign */, + {0x00a6, 0xfe} /* bar */, + {0x00ac, 0xfd} /* sign */ +}; + +/* +#define cet_ucs4_to_ibm904_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ibm904_extra[cet_ucs4_to_ibm904_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ibm904 = /* defined in cet.h */ +{ + cet_cs_name_ibm904, /* name of character set */ + cet_cs_alias_ibm904, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ibm904, /* char to UCS-4 value table */ + cet_ucs4_ofs_ibm904, /* first non standard character */ + cet_ucs4_cnt_ibm904, /* number of values in table */ + + cet_ucs4_to_ibm904_links, /* UCS-4 to char links */ + cet_ucs4_to_ibm904_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ibm904_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00a2, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 0x00ac, 0x00a6, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iec_p27_1.h b/gpsbabel/cet/iec_p27_1.h new file mode 100644 index 000000000..44ba106bc --- /dev/null +++ b/gpsbabel/cet/iec_p27_1.h @@ -0,0 +1,220 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IEC_P27-1" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iec_p27_1_h +#define iec_p27_1_h + +#define cet_cs_name_iec_p27_1 "IEC_P27-1" + +const char *cet_cs_alias_iec_p27_1[] = +{ + "IEC_P27-1", "iso-ir-143", NULL +}; + +#define cet_ucs4_ofs_iec_p27_1 160 +#define cet_ucs4_cnt_iec_p27_1 96 + +const int cet_ucs4_map_iec_p27_1[cet_ucs4_cnt_iec_p27_1] = +{ + 0x02c7, 0x2261, 0x2227, 0x2228, 0x2229, 0x222a, 0x2282, 0x2283, + 0x21d0, 0x21d2, 0x2234, 0x2235, 0x2208, 0x220b, 0x2286, 0x2287, + 0x222b, 0x222e, 0x221e, 0x2207, 0x2202, 0x223c, 0x2248, 0x2243, + 0x2245, 0x2264, 0x2260, 0x2265, 0x2194, 0x00ac, 0x2200, 0x2203, + 0x05d0, 0x25a1, 0x2225, 0x0393, 0x0394, 0x22a5, 0x2220, 0x221f, + 0x0398, 0x2329, 0x232a, 0x039b, 0x2032, 0x2033, 0x039e, 0x2213, + 0x03a0, 0x00b2, 0x03a3, 0x00d7, 0x00b3, 0x03a5, 0x03a6, 0x00b7, + 0x03a8, 0x03a9, 0x2205, 0x21c0, 0x221a, 0x0192, 0x221d, 0x00b1, + 0x00b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, + 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x2030, + 0x03c0, 0x03c1, 0x03c3, 0x00f7, 0x03c4, 0x03c5, 0x03c6, 0x03c7, + 0x03c8, 0x03c9, 0x2020, 0x2190, 0x2191, 0x2192, 0x2193, 0x203e +}; + +#define cet_ucs4_to_iec_p27_1_ct 96 + +const cet_ucs4_link_t cet_ucs4_to_iec_p27_1_links[cet_ucs4_to_iec_p27_1_ct] = +{ + {0x00ac, 0xbd} /* sign */, + {0x00b0, 0xe0} /* sign */, + {0x00b1, 0xdf} /* sign */, + {0x00b2, 0xd1} /* two */, + {0x00b3, 0xd4} /* three */, + {0x00b7, 0xd7} /* dot */, + {0x00d7, 0xd3} /* sign */, + {0x00f7, 0xf3} /* sign */, + {0x0192, 0xdd} /* minuscule latine f hameçon */, + {0x02c7, 0xa0} /* caron */, + {0x0393, 0xc3} /* capital letter gamma */, + {0x0394, 0xc4} /* capital letter delta */, + {0x0398, 0xc8} /* capital letter theta */, + {0x039b, 0xcb} /* capital letter lamda */, + {0x039e, 0xce} /* capital letter xi */, + {0x03a0, 0xd0} /* capital letter pi */, + {0x03a3, 0xd2} /* capital letter sigma */, + {0x03a5, 0xd5} /* capital letter upsilon */, + {0x03a6, 0xd6} /* capital letter phi */, + {0x03a8, 0xd8} /* capital letter psi */, + {0x03a9, 0xd9} /* capital letter omega */, + {0x03b1, 0xe1} /* small letter alpha */, + {0x03b2, 0xe2} /* small letter beta */, + {0x03b3, 0xe3} /* small letter gamma */, + {0x03b4, 0xe4} /* small letter delta */, + {0x03b5, 0xe5} /* small letter epsilon */, + {0x03b6, 0xe6} /* small letter zeta */, + {0x03b7, 0xe7} /* small letter eta */, + {0x03b8, 0xe8} /* small letter theta */, + {0x03b9, 0xe9} /* small letter iota */, + {0x03ba, 0xea} /* small letter kappa */, + {0x03bb, 0xeb} /* small letter lamda */, + {0x03bc, 0xec} /* small letter mu */, + {0x03bd, 0xed} /* small letter nu */, + {0x03be, 0xee} /* small letter xi */, + {0x03c0, 0xf0} /* small letter pi */, + {0x03c1, 0xf1} /* small letter rho */, + {0x03c3, 0xf2} /* small letter sigma */, + {0x03c4, 0xf4} /* small letter tau */, + {0x03c5, 0xf5} /* small letter upsilon */, + {0x03c6, 0xf6} /* small letter phi */, + {0x03c7, 0xf7} /* small letter chi */, + {0x03c8, 0xf8} /* small letter psi */, + {0x03c9, 0xf9} /* small letter omega */, + {0x05d0, 0xc0} /* letter alef */, + {0x2020, 0xfa} /* dagger */, + {0x2030, 0xef} /* mille sign */, + {0x2032, 0xcc} /* prime */, + {0x2033, 0xcd} /* prime */, + {0x203e, 0xff} /* overline */, + {0x2190, 0xfb} /* arrow */, + {0x2191, 0xfc} /* arrow */, + {0x2192, 0xfd} /* arrow */, + {0x2193, 0xfe} /* arrow */, + {0x2194, 0xbc} /* right arrow */, + {0x21c0, 0xdb} /* vector above (iso-10646-1dis 032/032/038/046) */, + {0x21d0, 0xa8} /* double arrow */, + {0x21d2, 0xa9} /* double arrow */, + {0x2200, 0xbe} /* all */, + {0x2202, 0xb4} /* differential */, + {0x2203, 0xbf} /* exists */, + {0x2205, 0xda} /* set */, + {0x2207, 0xb3} /* nabla */, + {0x2208, 0xac} /* of */, + {0x220b, 0xad} /* as member */, + {0x2213, 0xcf} /* sign */, + {0x221a, 0xdc} /* root */, + {0x221d, 0xde} /* to */, + {0x221e, 0xb2} /* infinity */, + {0x221f, 0xc7} /* angle */, + {0x2220, 0xc6} /* angle */, + {0x2225, 0xc2} /* to */, + {0x2227, 0xa2} /* and */, + {0x2228, 0xa3} /* or */, + {0x2229, 0xa4} /* intersection */, + {0x222a, 0xa5} /* union */, + {0x222b, 0xb0} /* integral */, + {0x222e, 0xb1} /* integral */, + {0x2234, 0xaa} /* therefore */, + {0x2235, 0xab} /* because */, + {0x223c, 0xb5} /* operator */, + {0x2243, 0xb7} /* equal to */, + {0x2245, 0xb8} /* equal to */, + {0x2248, 0xb6} /* equal to */, + {0x2260, 0xba} /* equal to */, + {0x2261, 0xa1} /* to */, + {0x2264, 0xb9} /* or equal to */, + {0x2265, 0xbb} /* or equal to */, + {0x2282, 0xa6} /* of */, + {0x2283, 0xa7} /* of */, + {0x2286, 0xae} /* of or equal to */, + {0x2287, 0xaf} /* of or equal to */, + {0x22a5, 0xc5} /* tack */, + {0x2329, 0xc9} /* angle bracket */, + {0x232a, 0xca} /* angle bracket */, + {0x25a1, 0xc1} /* square */ +}; + +/* +#define cet_ucs4_to_iec_p27_1_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iec_p27_1_extra[cet_ucs4_to_iec_p27_1_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iec_p27_1 = /* defined in cet.h */ +{ + cet_cs_name_iec_p27_1, /* name of character set */ + cet_cs_alias_iec_p27_1, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iec_p27_1, /* char to UCS-4 value table */ + cet_ucs4_ofs_iec_p27_1, /* first non standard character */ + cet_ucs4_cnt_iec_p27_1, /* number of values in table */ + + cet_ucs4_to_iec_p27_1_links, /* UCS-4 to char links */ + cet_ucs4_to_iec_p27_1_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iec_p27_1_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x02c7, 0x2261, 0x2227, 0x2228, 0x2229, 0x222a, 0x2282, 0x2283, + 0x21d0, 0x21d2, 0x2234, 0x2235, 0x2208, 0x220b, 0x2286, 0x2287, + 0x222b, 0x222e, 0x221e, 0x2207, 0x2202, 0x223c, 0x2248, 0x2243, + 0x2245, 0x2264, 0x2260, 0x2265, 0x2194, 0x00ac, 0x2200, 0x2203, + 0x05d0, 0x25a1, 0x2225, 0x0393, 0x0394, 0x22a5, 0x2220, 0x221f, + 0x0398, 0x2329, 0x232a, 0x039b, 0x2032, 0x2033, 0x039e, 0x2213, + 0x03a0, 0x00b2, 0x03a3, 0x00d7, 0x00b3, 0x03a5, 0x03a6, 0x00b7, + 0x03a8, 0x03a9, 0x2205, 0x21c0, 0x221a, 0x0192, 0x221d, 0x00b1, + 0x00b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, + 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x2030, + 0x03c0, 0x03c1, 0x03c3, 0x00f7, 0x03c4, 0x03c5, 0x03c6, 0x03c7, + 0x03c8, 0x03c9, 0x2020, 0x2190, 0x2191, 0x2192, 0x2193, 0x203e +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_10367_box.h b/gpsbabel/cet/iso_10367_box.h new file mode 100644 index 000000000..c29333d0f --- /dev/null +++ b/gpsbabel/cet/iso_10367_box.h @@ -0,0 +1,149 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO_10367-box" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_10367_box_h +#define iso_10367_box_h + +#define cet_cs_name_iso_10367_box "ISO_10367-box" + +const char *cet_cs_alias_iso_10367_box[] = +{ + "ISO_10367-box", "iso-ir-155", NULL +}; + +#define cet_ucs4_ofs_iso_10367_box 160 +#define cet_ucs4_cnt_iso_10367_box 62 + +const int cet_ucs4_map_iso_10367_box[cet_ucs4_cnt_iso_10367_box] = +{ + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x2551, 0x2550, 0x2554, 0x2557, 0x255a, 0x255d, 0x2560, 0x2563, + 0x2566, 0x2569, 0x256c, 0xe019, 0x2584, 0x2588, 0x25aa, -1, + 0x2502, 0x2500, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2591, 0x2592, 0x2593 +}; + +#define cet_ucs4_to_iso_10367_box_ct 29 + +const cet_ucs4_link_t cet_ucs4_to_iso_10367_box_links[cet_ucs4_to_iso_10367_box_ct] = +{ + {0x2500, 0xd1} /* drawings light horizontal */, + {0x2502, 0xd0} /* drawings light vertical */, + {0x250c, 0xd2} /* drawings light down and right */, + {0x2510, 0xd3} /* drawings light down and left */, + {0x2514, 0xd4} /* drawings light up and right */, + {0x2518, 0xd5} /* drawings light up and left */, + {0x251c, 0xd6} /* drawings light vertical and right */, + {0x2524, 0xd7} /* drawings light vertical and left */, + {0x252c, 0xd8} /* drawings light down and horizontal */, + {0x2534, 0xd9} /* drawings light up and horizontal */, + {0x253c, 0xda} /* drawings light vertical and horizontal */, + {0x2550, 0xc1} /* drawings heavy horizontal */, + {0x2551, 0xc0} /* drawings heavy vertical */, + {0x2554, 0xc2} /* drawings heavy down and right */, + {0x2557, 0xc3} /* drawings heavy down and left */, + {0x255a, 0xc4} /* drawings heavy up and right */, + {0x255d, 0xc5} /* drawings heavy up and left */, + {0x2560, 0xc6} /* drawings heavy vertical and right */, + {0x2563, 0xc7} /* drawings heavy vertical and left */, + {0x2566, 0xc8} /* drawings heavy down and horizontal */, + {0x2569, 0xc9} /* drawings heavy up and horizontal */, + {0x256c, 0xca} /* drawings heavy vertical and horizontal */, + {0x2584, 0xcc} /* half block */, + {0x2588, 0xcd} /* block */, + {0x2591, 0xdb} /* shade */, + {0x2592, 0xdc} /* shade */, + {0x2593, 0xdd} /* shade */, + {0x25aa, 0xce} /* small square */, + {0xe019, 0xcb} /* space b (iso-ir-8-1 096) */ +}; + +/* +#define cet_ucs4_to_iso_10367_box_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_10367_box_extra[cet_ucs4_to_iso_10367_box_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_10367_box = /* defined in cet.h */ +{ + cet_cs_name_iso_10367_box, /* name of character set */ + cet_cs_alias_iso_10367_box, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_10367_box, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_10367_box, /* first non standard character */ + cet_ucs4_cnt_iso_10367_box, /* number of values in table */ + + cet_ucs4_to_iso_10367_box_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_10367_box_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_10367_box_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x2551, 0x2550, 0x2554, 0x2557, 0x255a, 0x255d, 0x2560, 0x2563, + 0x2566, 0x2569, 0x256c, 0xe019, 0x2584, 0x2588, 0x25aa, -1, + 0x2502, 0x2500, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2591, 0x2592, 0x2593, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_5427.h b/gpsbabel/cet/iso_5427.h new file mode 100644 index 000000000..7876a4336 --- /dev/null +++ b/gpsbabel/cet/iso_5427.h @@ -0,0 +1,188 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO_5427" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_5427_h +#define iso_5427_h + +#define cet_cs_name_iso_5427 "ISO_5427" + +const char *cet_cs_alias_iso_5427[] = +{ + "ISO_5427", "iso-ir-37", NULL +}; + +#define cet_ucs4_ofs_iso_5427 36 +#define cet_ucs4_cnt_iso_5427 92 + +const int cet_ucs4_map_iso_5427[cet_ucs4_cnt_iso_5427] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x044e, 0x0430, 0x0431, 0x0446, + 0x0434, 0x0435, 0x0444, 0x0433, 0x0445, 0x0438, 0x0439, 0x043a, + 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, 0x044f, 0x0440, 0x0441, + 0x0442, 0x0443, 0x0436, 0x0432, 0x044c, 0x044b, 0x0437, 0x0448, + 0x044d, 0x0449, 0x0447, 0x044a, 0x042e, 0x0410, 0x0411, 0x0426, + 0x0414, 0x0415, 0x0424, 0x0413, 0x0425, 0x0418, 0x0419, 0x041a, + 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, 0x0417, 0x0428, + 0x042d, 0x0429, 0x0427, 0x007f +}; + +#define cet_ucs4_to_iso_5427_ct 64 + +const cet_ucs4_link_t cet_ucs4_to_iso_5427_links[cet_ucs4_to_iso_5427_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x0410, 0x61} /* capital letter a */, + {0x0411, 0x62} /* capital letter be */, + {0x0412, 0x77} /* capital letter ve */, + {0x0413, 0x67} /* capital letter ghe */, + {0x0414, 0x64} /* capital letter de */, + {0x0415, 0x65} /* capital letter ie */, + {0x0416, 0x76} /* capital letter zhe */, + {0x0417, 0x7a} /* capital letter ze */, + {0x0418, 0x69} /* capital letter i */, + {0x0419, 0x6a} /* capital letter short i */, + {0x041a, 0x6b} /* capital letter ka */, + {0x041b, 0x6c} /* capital letter el */, + {0x041c, 0x6d} /* capital letter em */, + {0x041d, 0x6e} /* capital letter en */, + {0x041e, 0x6f} /* capital letter o */, + {0x041f, 0x70} /* capital letter pe */, + {0x0420, 0x72} /* capital letter er */, + {0x0421, 0x73} /* capital letter es */, + {0x0422, 0x74} /* capital letter te */, + {0x0423, 0x75} /* capital letter u */, + {0x0424, 0x66} /* capital letter ef */, + {0x0425, 0x68} /* capital letter ha */, + {0x0426, 0x63} /* capital letter tse */, + {0x0427, 0x7e} /* capital letter che */, + {0x0428, 0x7b} /* capital letter sha */, + {0x0429, 0x7d} /* capital letter shcha */, + {0x042b, 0x79} /* capital letter yeru */, + {0x042c, 0x78} /* capital letter soft sign */, + {0x042d, 0x7c} /* capital letter e */, + {0x042e, 0x60} /* capital letter yu */, + {0x042f, 0x71} /* capital letter ya */, + {0x0430, 0x41} /* small letter a */, + {0x0431, 0x42} /* small letter be */, + {0x0432, 0x57} /* small letter ve */, + {0x0433, 0x47} /* small letter ghe */, + {0x0434, 0x44} /* small letter de */, + {0x0435, 0x45} /* small letter ie */, + {0x0436, 0x56} /* small letter zhe */, + {0x0437, 0x5a} /* small letter ze */, + {0x0438, 0x49} /* small letter i */, + {0x0439, 0x4a} /* small letter short i */, + {0x043a, 0x4b} /* small letter ka */, + {0x043b, 0x4c} /* small letter el */, + {0x043c, 0x4d} /* small letter em */, + {0x043d, 0x4e} /* small letter en */, + {0x043e, 0x4f} /* small letter o */, + {0x043f, 0x50} /* small letter pe */, + {0x0440, 0x52} /* small letter er */, + {0x0441, 0x53} /* small letter es */, + {0x0442, 0x54} /* small letter te */, + {0x0443, 0x55} /* small letter u */, + {0x0444, 0x46} /* small letter ef */, + {0x0445, 0x48} /* small letter ha */, + {0x0446, 0x43} /* small letter tse */, + {0x0447, 0x5e} /* small letter che */, + {0x0448, 0x5b} /* small letter sha */, + {0x0449, 0x5d} /* small letter shcha */, + {0x044a, 0x5f} /* small letter hard sign */, + {0x044b, 0x59} /* small letter yeru */, + {0x044c, 0x58} /* small letter soft sign */, + {0x044d, 0x5c} /* small letter e */, + {0x044e, 0x40} /* small letter yu */, + {0x044f, 0x51} /* small letter ya */ +}; + +/* +#define cet_ucs4_to_iso_5427_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_5427_extra[cet_ucs4_to_iso_5427_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_5427 = /* defined in cet.h */ +{ + cet_cs_name_iso_5427, /* name of character set */ + cet_cs_alias_iso_5427, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_5427, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_5427, /* first non standard character */ + cet_ucs4_cnt_iso_5427, /* number of values in table */ + + cet_ucs4_to_iso_5427_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_5427_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_5427_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_646_irv.h b/gpsbabel/cet/iso_646_irv.h new file mode 100644 index 000000000..26be677db --- /dev/null +++ b/gpsbabel/cet/iso_646_irv.h @@ -0,0 +1,127 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO_646.irv" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_646_irv_h +#define iso_646_irv_h + +#define cet_cs_name_iso_646_irv "ISO_646.irv" + +const char *cet_cs_alias_iso_646_irv[] = +{ + "ISO_646.irv", "irv", "iso-ir-2", "ISO_646.irv:1983", + NULL +}; + +#define cet_ucs4_ofs_iso_646_irv 36 +#define cet_ucs4_cnt_iso_646_irv 92 + +const int cet_ucs4_map_iso_646_irv[cet_ucs4_cnt_iso_646_irv] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, + 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x203e, 0x007f +}; + +#define cet_ucs4_to_iso_646_irv_ct 2 + +const cet_ucs4_link_t cet_ucs4_to_iso_646_irv_links[cet_ucs4_to_iso_646_irv_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x203e, 0x7e} /* overline */ +}; + +/* +#define cet_ucs4_to_iso_646_irv_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_646_irv_extra[cet_ucs4_to_iso_646_irv_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_646_irv = /* defined in cet.h */ +{ + cet_cs_name_iso_646_irv, /* name of character set */ + cet_cs_alias_iso_646_irv, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_646_irv, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_646_irv, /* first non standard character */ + cet_ucs4_cnt_iso_646_irv, /* number of values in table */ + + cet_ucs4_to_iso_646_irv_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_646_irv_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_646_irv_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_6937_2_25.h b/gpsbabel/cet/iso_6937_2_25.h new file mode 100644 index 000000000..fbc7a8e4d --- /dev/null +++ b/gpsbabel/cet/iso_6937_2_25.h @@ -0,0 +1,166 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO_6937-2-25" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_6937_2_25_h +#define iso_6937_2_25_h + +#define cet_cs_name_iso_6937_2_25 "ISO_6937-2-25" + +const char *cet_cs_alias_iso_6937_2_25[] = +{ + "ISO_6937-2-25", "iso-ir-152", NULL +}; + +#define cet_ucs4_ofs_iso_6937_2_25 36 +#define cet_ucs4_cnt_iso_6937_2_25 218 + +const int cet_ucs4_map_iso_6937_2_25[cet_ucs4_cnt_iso_6937_2_25] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, + 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, + 0x009c, 0x009d, 0x009e, 0x009f, 0x00a0, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 0x201c, -1, + 0x2190, 0x2191, 0x2192, 0x2193, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 0x201d, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x2122, 0x266a, -1, -1, -1, -1, -1, -1, + 0x215b, 0x215c, 0x215d, 0x215e, 0x2126, -1, -1, -1, + -1, -1, 0x0132, 0x013f, -1, -1, 0x0152, -1, + 0x0174, 0x0176, 0x0178, 0x0149, -1, -1, -1, -1, + -1, -1, 0x0133, 0x0140, -1, -1, 0x0153, -1, + 0x0175, 0x0177 +}; + +#define cet_ucs4_to_iso_6937_2_25_ct 26 + +const cet_ucs4_link_t cet_ucs4_to_iso_6937_2_25_links[cet_ucs4_to_iso_6937_2_25_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x0132, 0xe6} /* capital ligature ij */, + {0x0133, 0xf6} /* small ligature ij */, + {0x013f, 0xe7} /* capital letter l with middle dot */, + {0x0140, 0xf7} /* small letter l with middle dot */, + {0x0149, 0xef} /* small letter n preceded by apostrophe */, + {0x0152, 0xea} /* capital ligature oe */, + {0x0153, 0xfa} /* small ligature oe */, + {0x0174, 0xec} /* capital letter w with circumflex */, + {0x0175, 0xfc} /* small letter w with circumflex */, + {0x0176, 0xed} /* capital letter y with circumflex */, + {0x0177, 0xfd} /* small letter y with circumflex */, + {0x0178, 0xee} /* capital letter y with diaeresis */, + {0x201c, 0xaa} /* double quotation mark */, + {0x201d, 0xba} /* double quotation mark */, + {0x2122, 0xd4} /* mark sign */, + {0x2126, 0xe0} /* sign */, + {0x215b, 0xdc} /* fraction one eighth */, + {0x215c, 0xdd} /* fraction three eighths */, + {0x215d, 0xde} /* fraction five eighths */, + {0x215e, 0xdf} /* fraction seven eighths */, + {0x2190, 0xac} /* arrow */, + {0x2191, 0xad} /* arrow */, + {0x2192, 0xae} /* arrow */, + {0x2193, 0xaf} /* arrow */, + {0x266a, 0xd5} /* note */ +}; + +/* +#define cet_ucs4_to_iso_6937_2_25_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_6937_2_25_extra[cet_ucs4_to_iso_6937_2_25_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_6937_2_25 = /* defined in cet.h */ +{ + cet_cs_name_iso_6937_2_25, /* name of character set */ + cet_cs_alias_iso_6937_2_25, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_6937_2_25, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_6937_2_25, /* first non standard character */ + cet_ucs4_cnt_iso_6937_2_25, /* number of values in table */ + + cet_ucs4_to_iso_6937_2_25_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_6937_2_25_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_6937_2_25_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 0x201c, -1, 0x2190, 0x2191, 0x2192, 0x2193, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 0x201d, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 0x2122, 0x266a, -1, -1, + -1, -1, -1, -1, 0x215b, 0x215c, 0x215d, 0x215e, + 0x2126, -1, -1, -1, -1, -1, 0x0132, 0x013f, + -1, -1, 0x0152, -1, 0x0174, 0x0176, 0x0178, 0x0149, + -1, -1, -1, -1, -1, -1, 0x0133, 0x0140, + -1, -1, 0x0153, -1, 0x0175, 0x0177, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_1.h b/gpsbabel/cet/iso_8859_1.h new file mode 100644 index 000000000..43a0a3be9 --- /dev/null +++ b/gpsbabel/cet/iso_8859_1.h @@ -0,0 +1,115 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-1" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_1_h +#define iso_8859_1_h + +#define cet_cs_name_iso_8859_1 "ISO-8859-1" + +const char *cet_cs_alias_iso_8859_1[] = +{ + "ISO-8859-1", "819/CR-LF", "CP819/CR-LF", "csISOLatin1", + "IBM819/CR-LF", "ISO8859-1", "iso-ir-100", "ISO_8859-1", + "ISO_8859-1:1987", "l1", "lat1", "latin1", + "Latin-1", NULL +}; + +#define cet_ucs4_ofs_iso_8859_1 256 +#define cet_ucs4_cnt_iso_8859_1 0 + +const int cet_ucs4_map_iso_8859_1[cet_ucs4_cnt_iso_8859_1] = +{ +}; + +#define cet_ucs4_to_iso_8859_1_ct 0 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_1_links[cet_ucs4_to_iso_8859_1_ct] = +{ +}; + +/* +#define cet_ucs4_to_iso_8859_1_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_1_extra[cet_ucs4_to_iso_8859_1_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_1 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_1, /* name of character set */ + cet_cs_alias_iso_8859_1, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_1, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_1, /* first non standard character */ + cet_ucs4_cnt_iso_8859_1, /* number of values in table */ + + cet_ucs4_to_iso_8859_1_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_1_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_1_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_10.h b/gpsbabel/cet/iso_8859_10.h new file mode 100644 index 000000000..cd4ac507b --- /dev/null +++ b/gpsbabel/cet/iso_8859_10.h @@ -0,0 +1,172 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-10" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_10_h +#define iso_8859_10_h + +#define cet_cs_name_iso_8859_10 "ISO-8859-10" + +const char *cet_cs_alias_iso_8859_10[] = +{ + "ISO-8859-10", "csISOLatin6", "ISO8859-10", "iso-ir-157", + "ISO_8859-10", "ISO_8859-10:1992", "ISO_8859-10:1993", "L6", + "latin6", NULL +}; + +#define cet_ucs4_ofs_iso_8859_10 161 +#define cet_ucs4_cnt_iso_8859_10 95 + +const int cet_ucs4_map_iso_8859_10[cet_ucs4_cnt_iso_8859_10] = +{ + 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7, 0x013b, + 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a, 0x00b0, + 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7, 0x013c, + 0x0111, 0x0161, 0x0167, 0x017e, 0x2014, 0x016b, 0x014b, 0x0100, + 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e, 0x010c, + 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf, 0x00d0, + 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168, 0x00d8, + 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, 0x0101, + 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f, 0x010d, + 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef, 0x00f0, + 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169, 0x00f8, + 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138 +}; + +#define cet_ucs4_to_iso_8859_10_ct 46 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_10_links[cet_ucs4_to_iso_8859_10_ct] = +{ + {0x0100, 0xc0} /* capital letter a with macron */, + {0x0101, 0xe0} /* small letter a with macron */, + {0x0104, 0xa1} /* capital letter a with ogonek */, + {0x0105, 0xb1} /* small letter a with ogonek */, + {0x010c, 0xc8} /* capital letter c with caron */, + {0x010d, 0xe8} /* small letter c with caron */, + {0x0110, 0xa9} /* capital letter d with stroke */, + {0x0111, 0xb9} /* small letter d with stroke */, + {0x0112, 0xa2} /* capital letter e with macron */, + {0x0113, 0xb2} /* small letter e with macron */, + {0x0116, 0xcc} /* capital letter e with dot above */, + {0x0117, 0xec} /* small letter e with dot above */, + {0x0118, 0xca} /* capital letter e with ogonek */, + {0x0119, 0xea} /* small letter e with ogonek */, + {0x0122, 0xa3} /* capital letter g with cedilla */, + {0x0123, 0xb3} /* small letter g with cedilla */, + {0x0128, 0xa5} /* capital letter i with tilde */, + {0x0129, 0xb5} /* small letter i with tilde */, + {0x012a, 0xa4} /* capital letter i with macron */, + {0x012b, 0xb4} /* small letter i with macron */, + {0x012e, 0xc7} /* capital letter i with ogonek */, + {0x012f, 0xe7} /* small letter i with ogonek */, + {0x0136, 0xa6} /* capital letter k with cedilla */, + {0x0137, 0xb6} /* small letter k with cedilla */, + {0x0138, 0xff} /* small letter kra (greenlandic) */, + {0x013b, 0xa8} /* capital letter l with cedilla */, + {0x013c, 0xb8} /* small letter l with cedilla */, + {0x0145, 0xd1} /* capital letter n with cedilla */, + {0x0146, 0xf1} /* small letter n with cedilla */, + {0x014a, 0xaf} /* capital letter eng (lappish) */, + {0x014b, 0xbf} /* small letter eng (lappish) */, + {0x014c, 0xd2} /* capital letter o with macron */, + {0x014d, 0xf2} /* small letter o with macron */, + {0x0160, 0xaa} /* capital letter s with caron */, + {0x0161, 0xba} /* small letter s with caron */, + {0x0166, 0xab} /* capital letter t with stroke */, + {0x0167, 0xbb} /* small letter t with stroke */, + {0x0168, 0xd7} /* capital letter u with tilde */, + {0x0169, 0xf7} /* small letter u with tilde */, + {0x016a, 0xae} /* capital letter u with macron */, + {0x016b, 0xbe} /* small letter u with macron */, + {0x0172, 0xd9} /* capital letter u with ogonek */, + {0x0173, 0xf9} /* small letter u with ogonek */, + {0x017d, 0xac} /* capital letter z with caron */, + {0x017e, 0xbc} /* small letter z with caron */, + {0x2014, 0xbd} /* dash */ +}; + +/* +#define cet_ucs4_to_iso_8859_10_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_10_extra[cet_ucs4_to_iso_8859_10_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_10 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_10, /* name of character set */ + cet_cs_alias_iso_8859_10, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_10, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_10, /* first non standard character */ + cet_ucs4_cnt_iso_8859_10, /* number of values in table */ + + cet_ucs4_to_iso_8859_10_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_10_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_10_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0104, 0x0112, 0x0122, 0x012a, 0x0128, 0x0136, 0x00a7, + 0x013b, 0x0110, 0x0160, 0x0166, 0x017d, 0x00ad, 0x016a, 0x014a, + 0x00b0, 0x0105, 0x0113, 0x0123, 0x012b, 0x0129, 0x0137, 0x00b7, + 0x013c, 0x0111, 0x0161, 0x0167, 0x017e, 0x2014, 0x016b, 0x014b, + 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e, + 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x0145, 0x014c, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x0168, + 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, + 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f, + 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x00ef, + 0x00f0, 0x0146, 0x014d, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x0169, + 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x0138 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_13.h b/gpsbabel/cet/iso_8859_13.h new file mode 100644 index 000000000..f4997967d --- /dev/null +++ b/gpsbabel/cet/iso_8859_13.h @@ -0,0 +1,175 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-13" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_13_h +#define iso_8859_13_h + +#define cet_cs_name_iso_8859_13 "ISO-8859-13" + +const char *cet_cs_alias_iso_8859_13[] = +{ + "ISO-8859-13", "ISO8859-13", "iso-baltic", "ISO-IR-179", + "iso-ir-179a", "ISO_8859-13", "ISO_8859-13:1998", "l7", + "latin7", NULL +}; + +#define cet_ucs4_ofs_iso_8859_13 165 +#define cet_ucs4_cnt_iso_8859_13 91 + +const int cet_ucs4_map_iso_8859_13[cet_ucs4_cnt_iso_8859_13] = +{ + 0x201e, 0x00a6, 0x00a7, 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, + 0x00ad, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, + 0x00b5, 0x00b6, 0x00b7, 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, + 0x00bd, 0x00be, 0x00bf, 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, + 0x00c5, 0x0118, 0x0112, 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, + 0x0136, 0x012a, 0x013b, 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, + 0x00d5, 0x00d6, 0x00d7, 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, + 0x017b, 0x017d, 0x00df, 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, + 0x00e5, 0x0119, 0x0113, 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, + 0x0137, 0x012b, 0x013c, 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, + 0x00f5, 0x00f6, 0x00f7, 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, + 0x017c, 0x017e, 0x2019 +}; + +#define cet_ucs4_to_iso_8859_13_ct 49 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_13_links[cet_ucs4_to_iso_8859_13_ct] = +{ + {0x0100, 0xc2} /* capital letter a with macron */, + {0x0101, 0xe2} /* small letter a with macron */, + {0x0104, 0xc0} /* capital letter a with ogonek */, + {0x0105, 0xe0} /* small letter a with ogonek */, + {0x0106, 0xc3} /* capital letter c with acute */, + {0x0107, 0xe3} /* small letter c with acute */, + {0x010c, 0xc8} /* capital letter c with caron */, + {0x010d, 0xe8} /* small letter c with caron */, + {0x0112, 0xc7} /* capital letter e with macron */, + {0x0113, 0xe7} /* small letter e with macron */, + {0x0116, 0xcb} /* capital letter e with dot above */, + {0x0117, 0xeb} /* small letter e with dot above */, + {0x0118, 0xc6} /* capital letter e with ogonek */, + {0x0119, 0xe6} /* small letter e with ogonek */, + {0x0122, 0xcc} /* capital letter g with cedilla */, + {0x0123, 0xec} /* small letter g with cedilla */, + {0x012a, 0xce} /* capital letter i with macron */, + {0x012b, 0xee} /* small letter i with macron */, + {0x012e, 0xc1} /* capital letter i with ogonek */, + {0x012f, 0xe1} /* small letter i with ogonek */, + {0x0136, 0xcd} /* capital letter k with cedilla */, + {0x0137, 0xed} /* small letter k with cedilla */, + {0x013b, 0xcf} /* capital letter l with cedilla */, + {0x013c, 0xef} /* small letter l with cedilla */, + {0x0141, 0xd9} /* capital letter l with stroke */, + {0x0142, 0xf9} /* small letter l with stroke */, + {0x0143, 0xd1} /* capital letter n with acute */, + {0x0144, 0xf1} /* small letter n with acute */, + {0x0145, 0xd2} /* capital letter n with cedilla */, + {0x0146, 0xf2} /* small letter n with cedilla */, + {0x014c, 0xd4} /* capital letter o with macron */, + {0x014d, 0xf4} /* small letter o with macron */, + {0x015a, 0xda} /* capital letter s with acute */, + {0x015b, 0xfa} /* small letter s with acute */, + {0x0160, 0xd0} /* capital letter s with caron */, + {0x0161, 0xf0} /* small letter s with caron */, + {0x016a, 0xdb} /* capital letter u with macron */, + {0x016b, 0xfb} /* small letter u with macron */, + {0x0172, 0xd8} /* capital letter u with ogonek */, + {0x0173, 0xf8} /* small letter u with ogonek */, + {0x0179, 0xca} /* capital letter z with acute */, + {0x017a, 0xea} /* small letter z with acute */, + {0x017b, 0xdd} /* capital letter z with dot above */, + {0x017c, 0xfd} /* small letter z with dot above */, + {0x017d, 0xde} /* capital letter z with caron */, + {0x017e, 0xfe} /* small letter z with caron */, + {0x2019, 0xff} /* single quotation mark */, + {0x201c, 0xb4} /* double quotation mark */, + {0x201e, 0xa5} /* low-9 quotation mark */ +}; + +/* +#define cet_ucs4_to_iso_8859_13_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_13_extra[cet_ucs4_to_iso_8859_13_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_13 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_13, /* name of character set */ + cet_cs_alias_iso_8859_13, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_13, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_13, /* first non standard character */ + cet_ucs4_cnt_iso_8859_13, /* number of values in table */ + + cet_ucs4_to_iso_8859_13_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_13_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_13_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x201e, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x201c, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x0104, 0x012e, 0x0100, 0x0106, 0x00c4, 0x00c5, 0x0118, 0x0112, + 0x010c, 0x00c9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012a, 0x013b, + 0x0160, 0x0143, 0x0145, 0x00d3, 0x014c, 0x00d5, 0x00d6, 0x00d7, + 0x0172, 0x0141, 0x015a, 0x016a, 0x00dc, 0x017b, 0x017d, 0x00df, + 0x0105, 0x012f, 0x0101, 0x0107, 0x00e4, 0x00e5, 0x0119, 0x0113, + 0x010d, 0x00e9, 0x017a, 0x0117, 0x0123, 0x0137, 0x012b, 0x013c, + 0x0161, 0x0144, 0x0146, 0x00f3, 0x014d, 0x00f5, 0x00f6, 0x00f7, + 0x0173, 0x0142, 0x015b, 0x016b, 0x00fc, 0x017c, 0x017e, 0x2019 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_14.h b/gpsbabel/cet/iso_8859_14.h new file mode 100644 index 000000000..da7a3a9aa --- /dev/null +++ b/gpsbabel/cet/iso_8859_14.h @@ -0,0 +1,157 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-14" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_14_h +#define iso_8859_14_h + +#define cet_cs_name_iso_8859_14 "ISO-8859-14" + +const char *cet_cs_alias_iso_8859_14[] = +{ + "ISO-8859-14", "ISO8859-14", "iso-celtic", "iso-ir-199", + "ISO_8859-14", "ISO_8859-14:1998", "l8", "latin8", + NULL +}; + +#define cet_ucs4_ofs_iso_8859_14 161 +#define cet_ucs4_cnt_iso_8859_14 95 + +const int cet_ucs4_map_iso_8859_14[cet_ucs4_cnt_iso_8859_14] = +{ + 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7, 0x1e80, + 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x1e61, 0x1e1e, + 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56, 0x1e81, + 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x0178, 0x00c0, + 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, + 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, 0x0174, + 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a, 0x00d8, + 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df, 0x00e0, + 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, + 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x0175, + 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b, 0x00f8, + 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff +}; + +#define cet_ucs4_to_iso_8859_14_ct 31 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_14_links[cet_ucs4_to_iso_8859_14_ct] = +{ + {0x010a, 0xa4} /* capital letter c with dot above */, + {0x010b, 0xa5} /* small letter c with dot above */, + {0x0120, 0xb2} /* capital letter g with dot above */, + {0x0121, 0xb3} /* small letter g with dot above */, + {0x0174, 0xd0} /* capital letter w with circumflex */, + {0x0175, 0xf0} /* small letter w with circumflex */, + {0x0176, 0xde} /* capital letter y with circumflex */, + {0x0177, 0xfe} /* small letter y with circumflex */, + {0x0178, 0xbf} /* capital letter y with diaeresis */, + {0x1e02, 0xa1} /* capital letter b with dot above */, + {0x1e03, 0xa2} /* small letter b with dot above */, + {0x1e0a, 0xa6} /* capital letter d with dot above */, + {0x1e0b, 0xab} /* small letter d with dot above */, + {0x1e1e, 0xb0} /* capital letter f with dot above */, + {0x1e1f, 0xb1} /* small letter f with dot above */, + {0x1e40, 0xb4} /* capital letter m with dot above */, + {0x1e41, 0xb5} /* small letter m with dot above */, + {0x1e56, 0xb7} /* capital letter p with dot above */, + {0x1e57, 0xb9} /* small letter p with dot above */, + {0x1e60, 0xbb} /* capital letter s with dot above */, + {0x1e61, 0xaf} /* small letter s with dot above */, + {0x1e6a, 0xd7} /* capital letter t with dot above */, + {0x1e6b, 0xf7} /* small letter t with dot above */, + {0x1e80, 0xa8} /* capital letter w with grave */, + {0x1e81, 0xb8} /* small letter w with grave */, + {0x1e82, 0xaa} /* capital letter w with acute */, + {0x1e83, 0xba} /* small letter w with acute */, + {0x1e84, 0xbd} /* capital letter w with diaeresis */, + {0x1e85, 0xbe} /* small letter w with diaeresis */, + {0x1ef2, 0xac} /* capital letter y with grave */, + {0x1ef3, 0xbc} /* small letter y with grave */ +}; + +/* +#define cet_ucs4_to_iso_8859_14_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_14_extra[cet_ucs4_to_iso_8859_14_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_14 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_14, /* name of character set */ + cet_cs_alias_iso_8859_14, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_14, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_14, /* first non standard character */ + cet_ucs4_cnt_iso_8859_14, /* number of values in table */ + + cet_ucs4_to_iso_8859_14_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_14_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_14_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x1e02, 0x1e03, 0x00a3, 0x010a, 0x010b, 0x1e0a, 0x00a7, + 0x1e80, 0x00a9, 0x1e82, 0x1e0b, 0x1ef2, 0x00ad, 0x00ae, 0x1e61, + 0x1e1e, 0x1e1f, 0x0120, 0x0121, 0x1e40, 0x1e41, 0x00b6, 0x1e56, + 0x1e81, 0x1e57, 0x1e83, 0x1e60, 0x1ef3, 0x1e84, 0x1e85, 0x0178, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x0174, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x1e6a, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x0176, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x0175, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x1e6b, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x0177, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_15.h b/gpsbabel/cet/iso_8859_15.h new file mode 100644 index 000000000..315fb3217 --- /dev/null +++ b/gpsbabel/cet/iso_8859_15.h @@ -0,0 +1,133 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-15" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_15_h +#define iso_8859_15_h + +#define cet_cs_name_iso_8859_15 "ISO-8859-15" + +const char *cet_cs_alias_iso_8859_15[] = +{ + "ISO-8859-15", "ISO8859-15", "iso-ir-203", "ISO_8859-15", + "ISO_8859-15:1998", "l9", "latin9", NULL +}; + +#define cet_ucs4_ofs_iso_8859_15 164 +#define cet_ucs4_cnt_iso_8859_15 92 + +const int cet_ucs4_map_iso_8859_15[cet_ucs4_cnt_iso_8859_15] = +{ + 0x20ac, 0x00a5, 0x0160, 0x00a7, 0x0161, 0x00a9, 0x00aa, 0x00ab, + 0x00ac, 0x00ad, 0x00ae, 0x00af, 0x00b0, 0x00b1, 0x00b2, 0x00b3, + 0x017d, 0x00b5, 0x00b6, 0x00b7, 0x017e, 0x00b9, 0x00ba, 0x00bb, + 0x0152, 0x0153, 0x0178, 0x00bf, 0x00c0, 0x00c1, 0x00c2, 0x00c3, + 0x00c4, 0x00c5, 0x00c6, 0x00c7, 0x00c8, 0x00c9, 0x00ca, 0x00cb, + 0x00cc, 0x00cd, 0x00ce, 0x00cf, 0x00d0, 0x00d1, 0x00d2, 0x00d3, + 0x00d4, 0x00d5, 0x00d6, 0x00d7, 0x00d8, 0x00d9, 0x00da, 0x00db, + 0x00dc, 0x00dd, 0x00de, 0x00df, 0x00e0, 0x00e1, 0x00e2, 0x00e3, + 0x00e4, 0x00e5, 0x00e6, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb, + 0x00ec, 0x00ed, 0x00ee, 0x00ef, 0x00f0, 0x00f1, 0x00f2, 0x00f3, + 0x00f4, 0x00f5, 0x00f6, 0x00f7, 0x00f8, 0x00f9, 0x00fa, 0x00fb, + 0x00fc, 0x00fd, 0x00fe, 0x00ff +}; + +#define cet_ucs4_to_iso_8859_15_ct 8 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_15_links[cet_ucs4_to_iso_8859_15_ct] = +{ + {0x0152, 0xbc} /* capital ligature oe */, + {0x0153, 0xbd} /* small ligature oe */, + {0x0160, 0xa6} /* capital letter s with caron */, + {0x0161, 0xa8} /* small letter s with caron */, + {0x0178, 0xbe} /* capital letter y with diaeresis */, + {0x017d, 0xb4} /* capital letter z with caron */, + {0x017e, 0xb8} /* small letter z with caron */, + {0x20ac, 0xa4} /* euro */ +}; + +/* +#define cet_ucs4_to_iso_8859_15_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_15_extra[cet_ucs4_to_iso_8859_15_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_15 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_15, /* name of character set */ + cet_cs_alias_iso_8859_15, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_15, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_15, /* first non standard character */ + cet_ucs4_cnt_iso_8859_15, /* number of values in table */ + + cet_ucs4_to_iso_8859_15_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_15_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_15_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x20ac, 0x00a5, 0x0160, 0x00a7, + 0x0161, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x017d, 0x00b5, 0x00b6, 0x00b7, + 0x017e, 0x00b9, 0x00ba, 0x00bb, 0x0152, 0x0153, 0x0178, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + 0x00f0, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_2.h b/gpsbabel/cet/iso_8859_2.h new file mode 100644 index 000000000..bf2af29e6 --- /dev/null +++ b/gpsbabel/cet/iso_8859_2.h @@ -0,0 +1,183 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-2" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_2_h +#define iso_8859_2_h + +#define cet_cs_name_iso_8859_2 "ISO-8859-2" + +const char *cet_cs_alias_iso_8859_2[] = +{ + "ISO-8859-2", "912/CR-LF", "CP912/CR-LF", "csISOLatin2", + "IBM912/CR-LF", "ISO8859-2", "iso-ir-101", "ISO_8859-2", + "ISO_8859-2:1987", "l2", "latin2", NULL +}; + +#define cet_ucs4_ofs_iso_8859_2 161 +#define cet_ucs4_cnt_iso_8859_2 95 + +const int cet_ucs4_map_iso_8859_2[cet_ucs4_cnt_iso_8859_2] = +{ + 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7, 0x00a8, + 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b, 0x00b0, + 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7, 0x00b8, + 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c, 0x0154, + 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7, 0x010c, + 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e, 0x0110, + 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7, 0x0158, + 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df, 0x0155, + 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7, 0x010d, + 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f, 0x0111, + 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7, 0x0159, + 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9 +}; + +#define cet_ucs4_to_iso_8859_2_ct 57 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_2_links[cet_ucs4_to_iso_8859_2_ct] = +{ + {0x0102, 0xc3} /* capital letter a with breve */, + {0x0103, 0xe3} /* small letter a with breve */, + {0x0104, 0xa1} /* capital letter a with ogonek */, + {0x0105, 0xb1} /* small letter a with ogonek */, + {0x0106, 0xc6} /* capital letter c with acute */, + {0x0107, 0xe6} /* small letter c with acute */, + {0x010c, 0xc8} /* capital letter c with caron */, + {0x010d, 0xe8} /* small letter c with caron */, + {0x010e, 0xcf} /* capital letter d with caron */, + {0x010f, 0xef} /* small letter d with caron */, + {0x0110, 0xd0} /* capital letter d with stroke */, + {0x0111, 0xf0} /* small letter d with stroke */, + {0x0118, 0xca} /* capital letter e with ogonek */, + {0x0119, 0xea} /* small letter e with ogonek */, + {0x011a, 0xcc} /* capital letter e with caron */, + {0x011b, 0xec} /* small letter e with caron */, + {0x0139, 0xc5} /* capital letter l with acute */, + {0x013a, 0xe5} /* small letter l with acute */, + {0x013d, 0xa5} /* capital letter l with caron */, + {0x013e, 0xb5} /* small letter l with caron */, + {0x0141, 0xa3} /* capital letter l with stroke */, + {0x0142, 0xb3} /* small letter l with stroke */, + {0x0143, 0xd1} /* capital letter n with acute */, + {0x0144, 0xf1} /* small letter n with acute */, + {0x0147, 0xd2} /* capital letter n with caron */, + {0x0148, 0xf2} /* small letter n with caron */, + {0x0150, 0xd5} /* capital letter o with double acute */, + {0x0151, 0xf5} /* small letter o with double acute */, + {0x0154, 0xc0} /* capital letter r with acute */, + {0x0155, 0xe0} /* small letter r with acute */, + {0x0158, 0xd8} /* capital letter r with caron */, + {0x0159, 0xf8} /* small letter r with caron */, + {0x015a, 0xa6} /* capital letter s with acute */, + {0x015b, 0xb6} /* small letter s with acute */, + {0x015e, 0xaa} /* capital letter s with cedilla */, + {0x015f, 0xba} /* small letter s with cedilla */, + {0x0160, 0xa9} /* capital letter s with caron */, + {0x0161, 0xb9} /* small letter s with caron */, + {0x0162, 0xde} /* capital letter t with cedilla */, + {0x0163, 0xfe} /* small letter t with cedilla */, + {0x0164, 0xab} /* capital letter t with caron */, + {0x0165, 0xbb} /* small letter t with caron */, + {0x016e, 0xd9} /* capital letter u with ring above */, + {0x016f, 0xf9} /* small letter u with ring above */, + {0x0170, 0xdb} /* capital letter u with double acute */, + {0x0171, 0xfb} /* small letter u with double acute */, + {0x0179, 0xac} /* capital letter z with acute */, + {0x017a, 0xbc} /* small letter z with acute */, + {0x017b, 0xaf} /* capital letter z with dot above */, + {0x017c, 0xbf} /* small letter z with dot above */, + {0x017d, 0xae} /* capital letter z with caron */, + {0x017e, 0xbe} /* small letter z with caron */, + {0x02c7, 0xb7} /* caron */, + {0x02d8, 0xa2} /* breve */, + {0x02d9, 0xff} /* above */, + {0x02db, 0xb2} /* ogonek */, + {0x02dd, 0xbd} /* acute accent */ +}; + +/* +#define cet_ucs4_to_iso_8859_2_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_2_extra[cet_ucs4_to_iso_8859_2_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_2 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_2, /* name of character set */ + cet_cs_alias_iso_8859_2, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_2, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_2, /* first non standard character */ + cet_ucs4_cnt_iso_8859_2, /* number of values in table */ + + cet_ucs4_to_iso_8859_2_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_2_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_2_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0104, 0x02d8, 0x0141, 0x00a4, 0x013d, 0x015a, 0x00a7, + 0x00a8, 0x0160, 0x015e, 0x0164, 0x0179, 0x00ad, 0x017d, 0x017b, + 0x00b0, 0x0105, 0x02db, 0x0142, 0x00b4, 0x013e, 0x015b, 0x02c7, + 0x00b8, 0x0161, 0x015f, 0x0165, 0x017a, 0x02dd, 0x017e, 0x017c, + 0x0154, 0x00c1, 0x00c2, 0x0102, 0x00c4, 0x0139, 0x0106, 0x00c7, + 0x010c, 0x00c9, 0x0118, 0x00cb, 0x011a, 0x00cd, 0x00ce, 0x010e, + 0x0110, 0x0143, 0x0147, 0x00d3, 0x00d4, 0x0150, 0x00d6, 0x00d7, + 0x0158, 0x016e, 0x00da, 0x0170, 0x00dc, 0x00dd, 0x0162, 0x00df, + 0x0155, 0x00e1, 0x00e2, 0x0103, 0x00e4, 0x013a, 0x0107, 0x00e7, + 0x010d, 0x00e9, 0x0119, 0x00eb, 0x011b, 0x00ed, 0x00ee, 0x010f, + 0x0111, 0x0144, 0x0148, 0x00f3, 0x00f4, 0x0151, 0x00f6, 0x00f7, + 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_3.h b/gpsbabel/cet/iso_8859_3.h new file mode 100644 index 000000000..8bc5e944e --- /dev/null +++ b/gpsbabel/cet/iso_8859_3.h @@ -0,0 +1,154 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-3" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_3_h +#define iso_8859_3_h + +#define cet_cs_name_iso_8859_3 "ISO-8859-3" + +const char *cet_cs_alias_iso_8859_3[] = +{ + "ISO-8859-3", "csISOLatin3", "ISO8859-3", "iso-ir-109", + "ISO_8859-3", "ISO_8859-3:1988", "l3", "latin3", + NULL +}; + +#define cet_ucs4_ofs_iso_8859_3 161 +#define cet_ucs4_cnt_iso_8859_3 95 + +const int cet_ucs4_map_iso_8859_3[cet_ucs4_cnt_iso_8859_3] = +{ + 0x0126, 0x02d8, 0x00a3, 0x00a4, -1, 0x0124, 0x00a7, 0x00a8, + 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, -1, 0x017b, 0x00b0, + 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7, 0x00b8, + 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, -1, 0x017c, 0x00c0, + 0x00c1, 0x00c2, -1, 0x00c4, 0x010a, 0x0108, 0x00c7, 0x00c8, + 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, -1, + 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7, 0x011c, + 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df, 0x00e0, + 0x00e1, 0x00e2, -1, 0x00e4, 0x010b, 0x0109, 0x00e7, 0x00e8, + 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, -1, + 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7, 0x011d, + 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9 +}; + +#define cet_ucs4_to_iso_8859_3_ct 28 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_3_links[cet_ucs4_to_iso_8859_3_ct] = +{ + {0x0108, 0xc6} /* capital letter c with circumflex */, + {0x0109, 0xe6} /* small letter c with circumflex */, + {0x010a, 0xc5} /* capital letter c with dot above */, + {0x010b, 0xe5} /* small letter c with dot above */, + {0x011c, 0xd8} /* capital letter g with circumflex */, + {0x011d, 0xf8} /* small letter g with circumflex */, + {0x011e, 0xab} /* capital letter g with breve */, + {0x011f, 0xbb} /* small letter g with breve */, + {0x0120, 0xd5} /* capital letter g with dot above */, + {0x0121, 0xf5} /* small letter g with dot above */, + {0x0124, 0xa6} /* capital letter h with circumflex */, + {0x0125, 0xb6} /* small letter h with circumflex */, + {0x0126, 0xa1} /* capital letter h with stroke */, + {0x0127, 0xb1} /* small letter h with stroke */, + {0x0130, 0xa9} /* capital letter i with dot above */, + {0x0131, 0xb9} /* small letter i dotless */, + {0x0134, 0xac} /* capital letter j with circumflex */, + {0x0135, 0xbc} /* small letter j with circumflex */, + {0x015c, 0xde} /* capital letter s with circumflex */, + {0x015d, 0xfe} /* small letter s with circumflex */, + {0x015e, 0xaa} /* capital letter s with cedilla */, + {0x015f, 0xba} /* small letter s with cedilla */, + {0x016c, 0xdd} /* capital letter u with breve */, + {0x016d, 0xfd} /* small letter u with breve */, + {0x017b, 0xaf} /* capital letter z with dot above */, + {0x017c, 0xbf} /* small letter z with dot above */, + {0x02d8, 0xa2} /* breve */, + {0x02d9, 0xff} /* above */ +}; + +/* +#define cet_ucs4_to_iso_8859_3_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_3_extra[cet_ucs4_to_iso_8859_3_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_3 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_3, /* name of character set */ + cet_cs_alias_iso_8859_3, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_3, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_3, /* first non standard character */ + cet_ucs4_cnt_iso_8859_3, /* number of values in table */ + + cet_ucs4_to_iso_8859_3_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_3_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_3_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0126, 0x02d8, 0x00a3, 0x00a4, -1, 0x0124, 0x00a7, + 0x00a8, 0x0130, 0x015e, 0x011e, 0x0134, 0x00ad, -1, 0x017b, + 0x00b0, 0x0127, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x0125, 0x00b7, + 0x00b8, 0x0131, 0x015f, 0x011f, 0x0135, 0x00bd, -1, 0x017c, + 0x00c0, 0x00c1, 0x00c2, -1, 0x00c4, 0x010a, 0x0108, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + -1, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x0120, 0x00d6, 0x00d7, + 0x011c, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x016c, 0x015c, 0x00df, + 0x00e0, 0x00e1, 0x00e2, -1, 0x00e4, 0x010b, 0x0109, 0x00e7, + 0x00e8, 0x00e9, 0x00ea, 0x00eb, 0x00ec, 0x00ed, 0x00ee, 0x00ef, + -1, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x0121, 0x00f6, 0x00f7, + 0x011d, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x016d, 0x015d, 0x02d9 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_4.h b/gpsbabel/cet/iso_8859_4.h new file mode 100644 index 000000000..962852968 --- /dev/null +++ b/gpsbabel/cet/iso_8859_4.h @@ -0,0 +1,176 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-4" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_4_h +#define iso_8859_4_h + +#define cet_cs_name_iso_8859_4 "ISO-8859-4" + +const char *cet_cs_alias_iso_8859_4[] = +{ + "ISO-8859-4", "csISOLatin4", "ISO8859-4", "iso-ir-110", + "ISO_8859-4", "ISO_8859-4:1988", "l4", "latin4", + NULL +}; + +#define cet_ucs4_ofs_iso_8859_4 161 +#define cet_ucs4_cnt_iso_8859_4 95 + +const int cet_ucs4_map_iso_8859_4[cet_ucs4_cnt_iso_8859_4] = +{ + 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7, 0x00a8, + 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af, 0x00b0, + 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7, 0x00b8, + 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b, 0x0100, + 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e, 0x010c, + 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a, 0x0110, + 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7, 0x00d8, + 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df, 0x0101, + 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f, 0x010d, + 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b, 0x0111, + 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7, 0x00f8, + 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9 +}; + +#define cet_ucs4_to_iso_8859_4_ct 50 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_4_links[cet_ucs4_to_iso_8859_4_ct] = +{ + {0x0100, 0xc0} /* capital letter a with macron */, + {0x0101, 0xe0} /* small letter a with macron */, + {0x0104, 0xa1} /* capital letter a with ogonek */, + {0x0105, 0xb1} /* small letter a with ogonek */, + {0x010c, 0xc8} /* capital letter c with caron */, + {0x010d, 0xe8} /* small letter c with caron */, + {0x0110, 0xd0} /* capital letter d with stroke */, + {0x0111, 0xf0} /* small letter d with stroke */, + {0x0112, 0xaa} /* capital letter e with macron */, + {0x0113, 0xba} /* small letter e with macron */, + {0x0116, 0xcc} /* capital letter e with dot above */, + {0x0117, 0xec} /* small letter e with dot above */, + {0x0118, 0xca} /* capital letter e with ogonek */, + {0x0119, 0xea} /* small letter e with ogonek */, + {0x0122, 0xab} /* capital letter g with cedilla */, + {0x0123, 0xbb} /* small letter g with cedilla */, + {0x0128, 0xa5} /* capital letter i with tilde */, + {0x0129, 0xb5} /* small letter i with tilde */, + {0x012a, 0xcf} /* capital letter i with macron */, + {0x012b, 0xef} /* small letter i with macron */, + {0x012e, 0xc7} /* capital letter i with ogonek */, + {0x012f, 0xe7} /* small letter i with ogonek */, + {0x0136, 0xd3} /* capital letter k with cedilla */, + {0x0137, 0xf3} /* small letter k with cedilla */, + {0x0138, 0xa2} /* small letter kra (greenlandic) */, + {0x013b, 0xa6} /* capital letter l with cedilla */, + {0x013c, 0xb6} /* small letter l with cedilla */, + {0x0145, 0xd1} /* capital letter n with cedilla */, + {0x0146, 0xf1} /* small letter n with cedilla */, + {0x014a, 0xbd} /* capital letter eng (lappish) */, + {0x014b, 0xbf} /* small letter eng (lappish) */, + {0x014c, 0xd2} /* capital letter o with macron */, + {0x014d, 0xf2} /* small letter o with macron */, + {0x0156, 0xa3} /* capital letter r with cedilla */, + {0x0157, 0xb3} /* small letter r with cedilla */, + {0x0160, 0xa9} /* capital letter s with caron */, + {0x0161, 0xb9} /* small letter s with caron */, + {0x0166, 0xac} /* capital letter t with stroke */, + {0x0167, 0xbc} /* small letter t with stroke */, + {0x0168, 0xdd} /* capital letter u with tilde */, + {0x0169, 0xfd} /* small letter u with tilde */, + {0x016a, 0xde} /* capital letter u with macron */, + {0x016b, 0xfe} /* small letter u with macron */, + {0x0172, 0xd9} /* capital letter u with ogonek */, + {0x0173, 0xf9} /* small letter u with ogonek */, + {0x017d, 0xae} /* capital letter z with caron */, + {0x017e, 0xbe} /* small letter z with caron */, + {0x02c7, 0xb7} /* caron */, + {0x02d9, 0xff} /* above */, + {0x02db, 0xb2} /* ogonek */ +}; + +/* +#define cet_ucs4_to_iso_8859_4_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_4_extra[cet_ucs4_to_iso_8859_4_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_4 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_4, /* name of character set */ + cet_cs_alias_iso_8859_4, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_4, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_4, /* first non standard character */ + cet_ucs4_cnt_iso_8859_4, /* number of values in table */ + + cet_ucs4_to_iso_8859_4_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_4_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_4_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0104, 0x0138, 0x0156, 0x00a4, 0x0128, 0x013b, 0x00a7, + 0x00a8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00ad, 0x017d, 0x00af, + 0x00b0, 0x0105, 0x02db, 0x0157, 0x00b4, 0x0129, 0x013c, 0x02c7, + 0x00b8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014a, 0x017e, 0x014b, + 0x0100, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x012e, + 0x010c, 0x00c9, 0x0118, 0x00cb, 0x0116, 0x00cd, 0x00ce, 0x012a, + 0x0110, 0x0145, 0x014c, 0x0136, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x0172, 0x00da, 0x00db, 0x00dc, 0x0168, 0x016a, 0x00df, + 0x0101, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x012f, + 0x010d, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b, + 0x0111, 0x0146, 0x014d, 0x0137, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x0173, 0x00fa, 0x00fb, 0x00fc, 0x0169, 0x016b, 0x02d9 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_5.h b/gpsbabel/cet/iso_8859_5.h new file mode 100644 index 000000000..c70e4919a --- /dev/null +++ b/gpsbabel/cet/iso_8859_5.h @@ -0,0 +1,219 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-5" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_5_h +#define iso_8859_5_h + +#define cet_cs_name_iso_8859_5 "ISO-8859-5" + +const char *cet_cs_alias_iso_8859_5[] = +{ + "ISO-8859-5", "csISOLatinCyrillic", "cyrillic", "ISO8859-5", + "iso-ir-144", "ISO_8859-5", "ISO_8859-5:1988", NULL +}; + +#define cet_ucs4_ofs_iso_8859_5 161 +#define cet_ucs4_cnt_iso_8859_5 95 + +const int cet_ucs4_map_iso_8859_5[cet_ucs4_cnt_iso_8859_5] = +{ + 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, + 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, 0x0410, + 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, + 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 0x0420, + 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, + 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, 0x0430, + 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, + 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, 0x0440, + 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, + 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, 0x2116, + 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, + 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f +}; + +#define cet_ucs4_to_iso_8859_5_ct 94 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_5_links[cet_ucs4_to_iso_8859_5_ct] = +{ + {0x00a7, 0xfd} /* sign */, + {0x0401, 0xa1} /* capital letter io */, + {0x0402, 0xa2} /* capital letter dje (serbocroatian) */, + {0x0403, 0xa3} /* capital letter gje (macedonian) */, + {0x0404, 0xa4} /* capital letter ukrainian ie */, + {0x0405, 0xa5} /* capital letter dze (macedonian) */, + {0x0406, 0xa6} /* capital letter byelorussian-ukrainian i */, + {0x0407, 0xa7} /* capital letter yi (ukrainian) */, + {0x0408, 0xa8} /* capital letter je */, + {0x0409, 0xa9} /* capital letter lje */, + {0x040a, 0xaa} /* capital letter nje */, + {0x040b, 0xab} /* capital letter tshe (serbocroatian) */, + {0x040c, 0xac} /* capital letter kje (macedonian) */, + {0x040e, 0xae} /* capital letter short u (byelorussian) */, + {0x040f, 0xaf} /* capital letter dzhe */, + {0x0410, 0xb0} /* capital letter a */, + {0x0411, 0xb1} /* capital letter be */, + {0x0412, 0xb2} /* capital letter ve */, + {0x0413, 0xb3} /* capital letter ghe */, + {0x0414, 0xb4} /* capital letter de */, + {0x0415, 0xb5} /* capital letter ie */, + {0x0416, 0xb6} /* capital letter zhe */, + {0x0417, 0xb7} /* capital letter ze */, + {0x0418, 0xb8} /* capital letter i */, + {0x0419, 0xb9} /* capital letter short i */, + {0x041a, 0xba} /* capital letter ka */, + {0x041b, 0xbb} /* capital letter el */, + {0x041c, 0xbc} /* capital letter em */, + {0x041d, 0xbd} /* capital letter en */, + {0x041e, 0xbe} /* capital letter o */, + {0x041f, 0xbf} /* capital letter pe */, + {0x0420, 0xc0} /* capital letter er */, + {0x0421, 0xc1} /* capital letter es */, + {0x0422, 0xc2} /* capital letter te */, + {0x0423, 0xc3} /* capital letter u */, + {0x0424, 0xc4} /* capital letter ef */, + {0x0425, 0xc5} /* capital letter ha */, + {0x0426, 0xc6} /* capital letter tse */, + {0x0427, 0xc7} /* capital letter che */, + {0x0428, 0xc8} /* capital letter sha */, + {0x0429, 0xc9} /* capital letter shcha */, + {0x042a, 0xca} /* capital letter hard sign */, + {0x042b, 0xcb} /* capital letter yeru */, + {0x042c, 0xcc} /* capital letter soft sign */, + {0x042d, 0xcd} /* capital letter e */, + {0x042e, 0xce} /* capital letter yu */, + {0x042f, 0xcf} /* capital letter ya */, + {0x0430, 0xd0} /* small letter a */, + {0x0431, 0xd1} /* small letter be */, + {0x0432, 0xd2} /* small letter ve */, + {0x0433, 0xd3} /* small letter ghe */, + {0x0434, 0xd4} /* small letter de */, + {0x0435, 0xd5} /* small letter ie */, + {0x0436, 0xd6} /* small letter zhe */, + {0x0437, 0xd7} /* small letter ze */, + {0x0438, 0xd8} /* small letter i */, + {0x0439, 0xd9} /* small letter short i */, + {0x043a, 0xda} /* small letter ka */, + {0x043b, 0xdb} /* small letter el */, + {0x043c, 0xdc} /* small letter em */, + {0x043d, 0xdd} /* small letter en */, + {0x043e, 0xde} /* small letter o */, + {0x043f, 0xdf} /* small letter pe */, + {0x0440, 0xe0} /* small letter er */, + {0x0441, 0xe1} /* small letter es */, + {0x0442, 0xe2} /* small letter te */, + {0x0443, 0xe3} /* small letter u */, + {0x0444, 0xe4} /* small letter ef */, + {0x0445, 0xe5} /* small letter ha */, + {0x0446, 0xe6} /* small letter tse */, + {0x0447, 0xe7} /* small letter che */, + {0x0448, 0xe8} /* small letter sha */, + {0x0449, 0xe9} /* small letter shcha */, + {0x044a, 0xea} /* small letter hard sign */, + {0x044b, 0xeb} /* small letter yeru */, + {0x044c, 0xec} /* small letter soft sign */, + {0x044d, 0xed} /* small letter e */, + {0x044e, 0xee} /* small letter yu */, + {0x044f, 0xef} /* small letter ya */, + {0x0451, 0xf1} /* small letter io */, + {0x0452, 0xf2} /* small letter dje (serbocroatian) */, + {0x0453, 0xf3} /* small letter gje (macedonian) */, + {0x0454, 0xf4} /* small letter ukrainian ie */, + {0x0455, 0xf5} /* small letter dze (macedonian) */, + {0x0456, 0xf6} /* small letter byelorussian-ukrainian i */, + {0x0457, 0xf7} /* small letter yi (ukrainian) */, + {0x0458, 0xf8} /* small letter je */, + {0x0459, 0xf9} /* small letter lje */, + {0x045a, 0xfa} /* small letter nje */, + {0x045b, 0xfb} /* small letter tshe (serbocroatian) */, + {0x045c, 0xfc} /* small letter kje (macedonian) */, + {0x045e, 0xfe} /* small letter short u (byelorussian) */, + {0x045f, 0xff} /* small letter dzhe */, + {0x2116, 0xf0} /* sign */ +}; + +/* +#define cet_ucs4_to_iso_8859_5_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_5_extra[cet_ucs4_to_iso_8859_5_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_5 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_5, /* name of character set */ + cet_cs_alias_iso_8859_5, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_5, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_5, /* first non standard character */ + cet_ucs4_cnt_iso_8859_5, /* number of values in table */ + + cet_ucs4_to_iso_8859_5_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_5_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_5_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, + 0x0408, 0x0409, 0x040a, 0x040b, 0x040c, 0x00ad, 0x040e, 0x040f, + 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, + 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, + 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, + 0x0428, 0x0429, 0x042a, 0x042b, 0x042c, 0x042d, 0x042e, 0x042f, + 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, + 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, 0x043f, + 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, + 0x0448, 0x0449, 0x044a, 0x044b, 0x044c, 0x044d, 0x044e, 0x044f, + 0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, + 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_6.h b/gpsbabel/cet/iso_8859_6.h new file mode 100644 index 000000000..dbd7730c4 --- /dev/null +++ b/gpsbabel/cet/iso_8859_6.h @@ -0,0 +1,173 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-6" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_6_h +#define iso_8859_6_h + +#define cet_cs_name_iso_8859_6 "ISO-8859-6" + +const char *cet_cs_alias_iso_8859_6[] = +{ + "ISO-8859-6", "arabic", "ASMO-708", "csISOLatinArabic", + "ECMA-114", "ISO8859-6", "iso-ir-127", "ISO_8859-6", + "ISO_8859-6:1987", NULL +}; + +#define cet_ucs4_ofs_iso_8859_6 161 +#define cet_ucs4_cnt_iso_8859_6 82 + +const int cet_ucs4_map_iso_8859_6[cet_ucs4_cnt_iso_8859_6] = +{ + -1, -1, -1, 0x00a4, -1, -1, -1, -1, + -1, -1, -1, 0x060c, 0x00ad, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 0x061b, -1, -1, -1, 0x061f, -1, + 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, 0x0628, + 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f, 0x0630, + 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, 0x0638, + 0x0639, 0x063a, -1, -1, -1, -1, -1, 0x0640, + 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, 0x0648, + 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f, 0x0650, + 0x0651, 0x0652 +}; + +#define cet_ucs4_to_iso_8859_6_ct 48 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_6_links[cet_ucs4_to_iso_8859_6_ct] = +{ + {0x060c, 0xac} /* comma */, + {0x061b, 0xbb} /* semicolon */, + {0x061f, 0xbf} /* question mark */, + {0x0621, 0xc1} /* letter hamza */, + {0x0622, 0xc2} /* letter alef with madda above */, + {0x0623, 0xc3} /* letter alef with hamza above */, + {0x0624, 0xc4} /* letter waw with hamza above */, + {0x0625, 0xc5} /* letter alef with hamza below */, + {0x0626, 0xc6} /* letter yeh with hamza above */, + {0x0627, 0xc7} /* letter alef */, + {0x0628, 0xc8} /* letter beh */, + {0x0629, 0xc9} /* letter teh marbuta */, + {0x062a, 0xca} /* letter teh */, + {0x062b, 0xcb} /* letter theh */, + {0x062c, 0xcc} /* letter jeem */, + {0x062d, 0xcd} /* letter hah */, + {0x062e, 0xce} /* letter khah */, + {0x062f, 0xcf} /* letter dal */, + {0x0630, 0xd0} /* letter thal */, + {0x0631, 0xd1} /* letter reh */, + {0x0632, 0xd2} /* letter zain */, + {0x0633, 0xd3} /* letter seen */, + {0x0634, 0xd4} /* letter sheen */, + {0x0635, 0xd5} /* letter sad */, + {0x0636, 0xd6} /* letter dad */, + {0x0637, 0xd7} /* letter tah */, + {0x0638, 0xd8} /* letter zah */, + {0x0639, 0xd9} /* letter ain */, + {0x063a, 0xda} /* letter ghain */, + {0x0640, 0xe0} /* tatweel */, + {0x0641, 0xe1} /* letter feh */, + {0x0642, 0xe2} /* letter qaf */, + {0x0643, 0xe3} /* letter kaf */, + {0x0644, 0xe4} /* letter lam */, + {0x0645, 0xe5} /* letter meem */, + {0x0646, 0xe6} /* letter noon */, + {0x0647, 0xe7} /* letter heh */, + {0x0648, 0xe8} /* letter waw */, + {0x0649, 0xe9} /* letter alef maksura */, + {0x064a, 0xea} /* letter yeh */, + {0x064b, 0xeb} /* fathatan */, + {0x064c, 0xec} /* dammatan */, + {0x064d, 0xed} /* kasratan */, + {0x064e, 0xee} /* fatha */, + {0x064f, 0xef} /* damma */, + {0x0650, 0xf0} /* kasra */, + {0x0651, 0xf1} /* shadda */, + {0x0652, 0xf2} /* sukun */ +}; + +/* +#define cet_ucs4_to_iso_8859_6_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_6_extra[cet_ucs4_to_iso_8859_6_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_6 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_6, /* name of character set */ + cet_cs_alias_iso_8859_6, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_6, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_6, /* first non standard character */ + cet_ucs4_cnt_iso_8859_6, /* number of values in table */ + + cet_ucs4_to_iso_8859_6_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_6_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_6_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, -1, -1, -1, 0x00a4, -1, -1, -1, + -1, -1, -1, -1, 0x060c, 0x00ad, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 0x061b, -1, -1, -1, 0x061f, + -1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, + 0x0628, 0x0629, 0x062a, 0x062b, 0x062c, 0x062d, 0x062e, 0x062f, + 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, + 0x0638, 0x0639, 0x063a, -1, -1, -1, -1, -1, + 0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, + 0x0648, 0x0649, 0x064a, 0x064b, 0x064c, 0x064d, 0x064e, 0x064f, + 0x0650, 0x0651, 0x0652, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_7.h b/gpsbabel/cet/iso_8859_7.h new file mode 100644 index 000000000..09a6f50c7 --- /dev/null +++ b/gpsbabel/cet/iso_8859_7.h @@ -0,0 +1,199 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-7" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_7_h +#define iso_8859_7_h + +#define cet_cs_name_iso_8859_7 "ISO-8859-7" + +const char *cet_cs_alias_iso_8859_7[] = +{ + "ISO-8859-7", "csISOLatinGreek", "ECMA-118", "ELOT_928", + "greek", "greek8", "ISO8859-7", "iso-ir-126", + "ISO_8859-7", "ISO_8859-7:1987", NULL +}; + +#define cet_ucs4_ofs_iso_8859_7 161 +#define cet_ucs4_cnt_iso_8859_7 94 + +const int cet_ucs4_map_iso_8859_7[cet_ucs4_cnt_iso_8859_7] = +{ + 0x201b, 0x2019, 0x00a3, -1, -1, 0x00a6, 0x00a7, 0x00a8, + 0x00a9, -1, 0x00ab, 0x00ac, 0x00ad, -1, 0x2014, 0x00b0, + 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x0385, 0x0386, 0x00b7, 0x0388, + 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f, 0x0390, + 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, + 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, 0x03a0, + 0x03a1, -1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, 0x03a8, + 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af, 0x03b0, + 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, 0x03b8, + 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, 0x03c0, + 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, 0x03c8, + 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce +}; + +#define cet_ucs4_to_iso_8859_7_ct 73 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_7_links[cet_ucs4_to_iso_8859_7_ct] = +{ + {0x0385, 0xb5} /* accent and diaeresis (tonos and dialytika) */, + {0x0386, 0xb6} /* capital letter alpha with acute */, + {0x0388, 0xb8} /* capital letter epsilon with acute */, + {0x0389, 0xb9} /* capital letter eta with acute */, + {0x038a, 0xba} /* capital letter iota with acute */, + {0x038c, 0xbc} /* capital letter omicron with acute */, + {0x038e, 0xbe} /* capital letter upsilon with acute */, + {0x038f, 0xbf} /* capital letter omega with acute */, + {0x0390, 0xc0} /* small letter iota with acute and diaeresis */, + {0x0391, 0xc1} /* capital letter alpha */, + {0x0392, 0xc2} /* capital letter beta */, + {0x0393, 0xc3} /* capital letter gamma */, + {0x0394, 0xc4} /* capital letter delta */, + {0x0395, 0xc5} /* capital letter epsilon */, + {0x0396, 0xc6} /* capital letter zeta */, + {0x0397, 0xc7} /* capital letter eta */, + {0x0398, 0xc8} /* capital letter theta */, + {0x0399, 0xc9} /* capital letter iota */, + {0x039a, 0xca} /* capital letter kappa */, + {0x039b, 0xcb} /* capital letter lamda */, + {0x039c, 0xcc} /* capital letter mu */, + {0x039d, 0xcd} /* capital letter nu */, + {0x039e, 0xce} /* capital letter xi */, + {0x039f, 0xcf} /* capital letter omicron */, + {0x03a0, 0xd0} /* capital letter pi */, + {0x03a1, 0xd1} /* capital letter rho */, + {0x03a3, 0xd3} /* capital letter sigma */, + {0x03a4, 0xd4} /* capital letter tau */, + {0x03a5, 0xd5} /* capital letter upsilon */, + {0x03a6, 0xd6} /* capital letter phi */, + {0x03a7, 0xd7} /* capital letter chi */, + {0x03a8, 0xd8} /* capital letter psi */, + {0x03a9, 0xd9} /* capital letter omega */, + {0x03aa, 0xda} /* capital letter iota with diaeresis */, + {0x03ab, 0xdb} /* capital letter upsilon with diaeresis */, + {0x03ac, 0xdc} /* small letter alpha with acute */, + {0x03ad, 0xdd} /* small letter epsilon with acute */, + {0x03ae, 0xde} /* small letter eta with acute */, + {0x03af, 0xdf} /* small letter iota with acute */, + {0x03b0, 0xe0} /* small letter upsilon with acute and diaeresis */, + {0x03b1, 0xe1} /* small letter alpha */, + {0x03b2, 0xe2} /* small letter beta */, + {0x03b3, 0xe3} /* small letter gamma */, + {0x03b4, 0xe4} /* small letter delta */, + {0x03b5, 0xe5} /* small letter epsilon */, + {0x03b6, 0xe6} /* small letter zeta */, + {0x03b7, 0xe7} /* small letter eta */, + {0x03b8, 0xe8} /* small letter theta */, + {0x03b9, 0xe9} /* small letter iota */, + {0x03ba, 0xea} /* small letter kappa */, + {0x03bb, 0xeb} /* small letter lamda */, + {0x03bc, 0xec} /* small letter mu */, + {0x03bd, 0xed} /* small letter nu */, + {0x03be, 0xee} /* small letter xi */, + {0x03bf, 0xef} /* small letter omicron */, + {0x03c0, 0xf0} /* small letter pi */, + {0x03c1, 0xf1} /* small letter rho */, + {0x03c2, 0xf2} /* small letter final sigma */, + {0x03c3, 0xf3} /* small letter sigma */, + {0x03c4, 0xf4} /* small letter tau */, + {0x03c5, 0xf5} /* small letter upsilon */, + {0x03c6, 0xf6} /* small letter phi */, + {0x03c7, 0xf7} /* small letter chi */, + {0x03c8, 0xf8} /* small letter psi */, + {0x03c9, 0xf9} /* small letter omega */, + {0x03ca, 0xfa} /* small letter iota with diaeresis */, + {0x03cb, 0xfb} /* small letter upsilon with diaeresis */, + {0x03cc, 0xfc} /* small letter omicron with acute */, + {0x03cd, 0xfd} /* small letter upsilon with acute */, + {0x03ce, 0xfe} /* small letter omega with acute */, + {0x2014, 0xaf} /* dash */, + {0x2019, 0xa2} /* single quotation mark */, + {0x201b, 0xa1} /* high-reversed-9 quotation mark */ +}; + +/* +#define cet_ucs4_to_iso_8859_7_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_7_extra[cet_ucs4_to_iso_8859_7_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_7 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_7, /* name of character set */ + cet_cs_alias_iso_8859_7, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_7, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_7, /* first non standard character */ + cet_ucs4_cnt_iso_8859_7, /* number of values in table */ + + cet_ucs4_to_iso_8859_7_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_7_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_7_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x201b, 0x2019, 0x00a3, -1, -1, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, -1, 0x00ab, 0x00ac, 0x00ad, -1, 0x2014, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x0385, 0x0386, 0x00b7, + 0x0388, 0x0389, 0x038a, 0x00bb, 0x038c, 0x00bd, 0x038e, 0x038f, + 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, + 0x0398, 0x0399, 0x039a, 0x039b, 0x039c, 0x039d, 0x039e, 0x039f, + 0x03a0, 0x03a1, -1, 0x03a3, 0x03a4, 0x03a5, 0x03a6, 0x03a7, + 0x03a8, 0x03a9, 0x03aa, 0x03ab, 0x03ac, 0x03ad, 0x03ae, 0x03af, + 0x03b0, 0x03b1, 0x03b2, 0x03b3, 0x03b4, 0x03b5, 0x03b6, 0x03b7, + 0x03b8, 0x03b9, 0x03ba, 0x03bb, 0x03bc, 0x03bd, 0x03be, 0x03bf, + 0x03c0, 0x03c1, 0x03c2, 0x03c3, 0x03c4, 0x03c5, 0x03c6, 0x03c7, + 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_8.h b/gpsbabel/cet/iso_8859_8.h new file mode 100644 index 000000000..e22f04a60 --- /dev/null +++ b/gpsbabel/cet/iso_8859_8.h @@ -0,0 +1,156 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-8" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_8_h +#define iso_8859_8_h + +#define cet_cs_name_iso_8859_8 "ISO-8859-8" + +const char *cet_cs_alias_iso_8859_8[] = +{ + "ISO-8859-8", "csISOLatinHebrew", "hebrew", "ISO8859-8", + "iso-ir-138", "ISO_8859-8", "ISO_8859-8:1988", NULL +}; + +#define cet_ucs4_ofs_iso_8859_8 161 +#define cet_ucs4_cnt_iso_8859_8 90 + +const int cet_ucs4_map_iso_8859_8[cet_ucs4_cnt_iso_8859_8] = +{ + -1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, 0x00a8, + 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x203e, 0x00b0, + 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, 0x00b8, + 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 0x2017, 0x05d0, + 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7, 0x05d8, + 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, 0x05e0, + 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, 0x05e8, + 0x05e9, 0x05ea +}; + +#define cet_ucs4_to_iso_8859_8_ct 31 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_8_links[cet_ucs4_to_iso_8859_8_ct] = +{ + {0x00d7, 0xaa} /* sign */, + {0x00f7, 0xba} /* sign */, + {0x05d0, 0xe0} /* letter alef */, + {0x05d1, 0xe1} /* letter bet */, + {0x05d2, 0xe2} /* letter gimel */, + {0x05d3, 0xe3} /* letter dalet */, + {0x05d4, 0xe4} /* letter he */, + {0x05d5, 0xe5} /* letter vav */, + {0x05d6, 0xe6} /* letter zayin */, + {0x05d7, 0xe7} /* letter het */, + {0x05d8, 0xe8} /* letter tet */, + {0x05d9, 0xe9} /* letter yod */, + {0x05da, 0xea} /* letter final kaf */, + {0x05db, 0xeb} /* letter kaf */, + {0x05dc, 0xec} /* letter lamed */, + {0x05dd, 0xed} /* letter final mem */, + {0x05de, 0xee} /* letter mem */, + {0x05df, 0xef} /* letter final nun */, + {0x05e0, 0xf0} /* letter nun */, + {0x05e1, 0xf1} /* letter samekh */, + {0x05e2, 0xf2} /* letter ayin */, + {0x05e3, 0xf3} /* letter final pe */, + {0x05e4, 0xf4} /* letter pe */, + {0x05e5, 0xf5} /* letter final tsadi */, + {0x05e6, 0xf6} /* letter tsadi */, + {0x05e7, 0xf7} /* letter qof */, + {0x05e8, 0xf8} /* letter resh */, + {0x05e9, 0xf9} /* letter shin */, + {0x05ea, 0xfa} /* letter tav */, + {0x2017, 0xdf} /* low line */, + {0x203e, 0xaf} /* overline */ +}; + +/* +#define cet_ucs4_to_iso_8859_8_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_8_extra[cet_ucs4_to_iso_8859_8_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_8 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_8, /* name of character set */ + cet_cs_alias_iso_8859_8, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_8, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_8, /* first non standard character */ + cet_ucs4_cnt_iso_8859_8, /* number of values in table */ + + cet_ucs4_to_iso_8859_8_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_8_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_8_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, -1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00d7, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x203e, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00f7, 0x00bb, 0x00bc, 0x00bd, 0x00be, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 0x2017, + 0x05d0, 0x05d1, 0x05d2, 0x05d3, 0x05d4, 0x05d5, 0x05d6, 0x05d7, + 0x05d8, 0x05d9, 0x05da, 0x05db, 0x05dc, 0x05dd, 0x05de, 0x05df, + 0x05e0, 0x05e1, 0x05e2, 0x05e3, 0x05e4, 0x05e5, 0x05e6, 0x05e7, + 0x05e8, 0x05e9, 0x05ea, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_9.h b/gpsbabel/cet/iso_8859_9.h new file mode 100644 index 000000000..0fc4c21b1 --- /dev/null +++ b/gpsbabel/cet/iso_8859_9.h @@ -0,0 +1,129 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO-8859-9" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_9_h +#define iso_8859_9_h + +#define cet_cs_name_iso_8859_9 "ISO-8859-9" + +const char *cet_cs_alias_iso_8859_9[] = +{ + "ISO-8859-9", "csISOLatin5", "ISO8859-9", "iso-ir-148", + "ISO_8859-9", "ISO_8859-9:1989", "l5", "latin5", + NULL +}; + +#define cet_ucs4_ofs_iso_8859_9 208 +#define cet_ucs4_cnt_iso_8859_9 48 + +const int cet_ucs4_map_iso_8859_9[cet_ucs4_cnt_iso_8859_9] = +{ + 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b, + 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff +}; + +#define cet_ucs4_to_iso_8859_9_ct 9 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_9_links[cet_ucs4_to_iso_8859_9_ct] = +{ + {0x0117, 0xec} /* small letter e with dot above */, + {0x0119, 0xea} /* small letter e with ogonek */, + {0x011e, 0xd0} /* capital letter g with breve */, + {0x011f, 0xf0} /* small letter g with breve */, + {0x012b, 0xef} /* small letter i with macron */, + {0x0130, 0xdd} /* capital letter i with dot above */, + {0x0131, 0xfd} /* small letter i dotless */, + {0x015e, 0xde} /* capital letter s with cedilla */, + {0x015f, 0xfe} /* small letter s with cedilla */ +}; + +/* +#define cet_ucs4_to_iso_8859_9_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_9_extra[cet_ucs4_to_iso_8859_9_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_9 = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_9, /* name of character set */ + cet_cs_alias_iso_8859_9, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_9, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_9, /* first non standard character */ + cet_ucs4_cnt_iso_8859_9, /* number of values in table */ + + cet_ucs4_to_iso_8859_9_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_9_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_9_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, 0x00a1, 0x00a2, 0x00a3, 0x00a4, 0x00a5, 0x00a6, 0x00a7, + 0x00a8, 0x00a9, 0x00aa, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x00af, + 0x00b0, 0x00b1, 0x00b2, 0x00b3, 0x00b4, 0x00b5, 0x00b6, 0x00b7, + 0x00b8, 0x00b9, 0x00ba, 0x00bb, 0x00bc, 0x00bd, 0x00be, 0x00bf, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c6, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x011e, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d7, + 0x00d8, 0x00d9, 0x00da, 0x00db, 0x00dc, 0x0130, 0x015e, 0x00df, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x00e4, 0x00e5, 0x00e6, 0x00e7, + 0x00e8, 0x00e9, 0x0119, 0x00eb, 0x0117, 0x00ed, 0x00ee, 0x012b, + 0x011f, 0x00f1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x00f6, 0x00f7, + 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff +}; +*/ + +#endif diff --git a/gpsbabel/cet/iso_8859_supp.h b/gpsbabel/cet/iso_8859_supp.h new file mode 100644 index 000000000..1c7f05724 --- /dev/null +++ b/gpsbabel/cet/iso_8859_supp.h @@ -0,0 +1,212 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "ISO_8859-supp" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef iso_8859_supp_h +#define iso_8859_supp_h + +#define cet_cs_name_iso_8859_supp "ISO_8859-supp" + +const char *cet_cs_alias_iso_8859_supp[] = +{ + "ISO_8859-supp", "iso-ir-154", "latin1-2-5", NULL +}; + +#define cet_ucs4_ofs_iso_8859_supp 160 +#define cet_ucs4_cnt_iso_8859_supp 96 + +const int cet_ucs4_map_iso_8859_supp[cet_ucs4_cnt_iso_8859_supp] = +{ + -1, -1, 0x0100, 0x0108, 0x010a, -1, 0x0116, 0x0112, + 0x011c, 0x2018, 0x201c, 0x2122, 0x2190, 0x2191, 0x2192, 0x2193, + -1, -1, 0x0101, 0x0109, 0x010b, 0x00f0, 0x0117, 0x0113, + 0x011d, 0x2019, 0x201d, 0x266a, 0x215b, 0x215c, 0x215d, 0x215e, + -1, 0x011e, 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x0130, + 0x012a, 0x012e, 0x0132, 0x0134, 0x0136, 0x013b, 0x013f, 0x0145, + 0x2014, 0x014a, 0x014c, 0x0152, 0x0156, 0x015c, 0x0166, 0x00de, + 0x0168, 0x016c, 0x016a, 0x0172, 0x0174, 0x00dd, 0x0176, 0x0178, + 0x2126, 0x011f, 0x0121, 0x0123, 0x0125, 0x0127, 0x0129, 0x0131, + 0x012b, 0x012f, 0x0133, 0x0135, 0x0137, 0x013c, 0x0140, 0x0146, + 0x0138, 0x014b, 0x014d, 0x0153, 0x0157, 0x015d, 0x0167, 0x00fe, + 0x0169, 0x016d, 0x016b, 0x0173, 0x0175, 0x00fd, 0x0177, 0x0149 +}; + +#define cet_ucs4_to_iso_8859_supp_ct 88 + +const cet_ucs4_link_t cet_ucs4_to_iso_8859_supp_links[cet_ucs4_to_iso_8859_supp_ct] = +{ + {0x00de, 0xd7} /* capital letter thorn (icelandic) */, + {0x00f0, 0xb5} /* small letter eth (icelandic) */, + {0x00fe, 0xf7} /* small letter thorn (icelandic) */, + {0x0100, 0xa2} /* capital letter a with macron */, + {0x0101, 0xb2} /* small letter a with macron */, + {0x0108, 0xa3} /* capital letter c with circumflex */, + {0x0109, 0xb3} /* small letter c with circumflex */, + {0x010a, 0xa4} /* capital letter c with dot above */, + {0x010b, 0xb4} /* small letter c with dot above */, + {0x0112, 0xa7} /* capital letter e with macron */, + {0x0113, 0xb7} /* small letter e with macron */, + {0x0116, 0xa6} /* capital letter e with dot above */, + {0x0117, 0xb6} /* small letter e with dot above */, + {0x011c, 0xa8} /* capital letter g with circumflex */, + {0x011d, 0xb8} /* small letter g with circumflex */, + {0x011e, 0xc1} /* capital letter g with breve */, + {0x011f, 0xe1} /* small letter g with breve */, + {0x0120, 0xc2} /* capital letter g with dot above */, + {0x0121, 0xe2} /* small letter g with dot above */, + {0x0122, 0xc3} /* capital letter g with cedilla */, + {0x0123, 0xe3} /* small letter g with cedilla */, + {0x0124, 0xc4} /* capital letter h with circumflex */, + {0x0125, 0xe4} /* small letter h with circumflex */, + {0x0126, 0xc5} /* capital letter h with stroke */, + {0x0127, 0xe5} /* small letter h with stroke */, + {0x0128, 0xc6} /* capital letter i with tilde */, + {0x0129, 0xe6} /* small letter i with tilde */, + {0x012a, 0xc8} /* capital letter i with macron */, + {0x012b, 0xe8} /* small letter i with macron */, + {0x012e, 0xc9} /* capital letter i with ogonek */, + {0x012f, 0xe9} /* small letter i with ogonek */, + {0x0130, 0xc7} /* capital letter i with dot above */, + {0x0131, 0xe7} /* small letter i dotless */, + {0x0132, 0xca} /* capital ligature ij */, + {0x0133, 0xea} /* small ligature ij */, + {0x0134, 0xcb} /* capital letter j with circumflex */, + {0x0135, 0xeb} /* small letter j with circumflex */, + {0x0136, 0xcc} /* capital letter k with cedilla */, + {0x0137, 0xec} /* small letter k with cedilla */, + {0x0138, 0xf0} /* small letter kra (greenlandic) */, + {0x013b, 0xcd} /* capital letter l with cedilla */, + {0x013c, 0xed} /* small letter l with cedilla */, + {0x013f, 0xce} /* capital letter l with middle dot */, + {0x0140, 0xee} /* small letter l with middle dot */, + {0x0145, 0xcf} /* capital letter n with cedilla */, + {0x0146, 0xef} /* small letter n with cedilla */, + {0x0149, 0xff} /* small letter n preceded by apostrophe */, + {0x014a, 0xd1} /* capital letter eng (lappish) */, + {0x014b, 0xf1} /* small letter eng (lappish) */, + {0x014c, 0xd2} /* capital letter o with macron */, + {0x014d, 0xf2} /* small letter o with macron */, + {0x0152, 0xd3} /* capital ligature oe */, + {0x0153, 0xf3} /* small ligature oe */, + {0x0156, 0xd4} /* capital letter r with cedilla */, + {0x0157, 0xf4} /* small letter r with cedilla */, + {0x015c, 0xd5} /* capital letter s with circumflex */, + {0x015d, 0xf5} /* small letter s with circumflex */, + {0x0166, 0xd6} /* capital letter t with stroke */, + {0x0167, 0xf6} /* small letter t with stroke */, + {0x0168, 0xd8} /* capital letter u with tilde */, + {0x0169, 0xf8} /* small letter u with tilde */, + {0x016a, 0xda} /* capital letter u with macron */, + {0x016b, 0xfa} /* small letter u with macron */, + {0x016c, 0xd9} /* capital letter u with breve */, + {0x016d, 0xf9} /* small letter u with breve */, + {0x0172, 0xdb} /* capital letter u with ogonek */, + {0x0173, 0xfb} /* small letter u with ogonek */, + {0x0174, 0xdc} /* capital letter w with circumflex */, + {0x0175, 0xfc} /* small letter w with circumflex */, + {0x0176, 0xde} /* capital letter y with circumflex */, + {0x0177, 0xfe} /* small letter y with circumflex */, + {0x0178, 0xdf} /* capital letter y with diaeresis */, + {0x2014, 0xd0} /* dash */, + {0x2018, 0xa9} /* single quotation mark */, + {0x2019, 0xb9} /* single quotation mark */, + {0x201c, 0xaa} /* double quotation mark */, + {0x201d, 0xba} /* double quotation mark */, + {0x2122, 0xab} /* mark sign */, + {0x2126, 0xe0} /* sign */, + {0x215b, 0xbc} /* fraction one eighth */, + {0x215c, 0xbd} /* fraction three eighths */, + {0x215d, 0xbe} /* fraction five eighths */, + {0x215e, 0xbf} /* fraction seven eighths */, + {0x2190, 0xac} /* arrow */, + {0x2191, 0xad} /* arrow */, + {0x2192, 0xae} /* arrow */, + {0x2193, 0xaf} /* arrow */, + {0x266a, 0xbb} /* note */ +}; + +/* +#define cet_ucs4_to_iso_8859_supp_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_iso_8859_supp_extra[cet_ucs4_to_iso_8859_supp_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_iso_8859_supp = /* defined in cet.h */ +{ + cet_cs_name_iso_8859_supp, /* name of character set */ + cet_cs_alias_iso_8859_supp, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_iso_8859_supp, /* char to UCS-4 value table */ + cet_ucs4_ofs_iso_8859_supp, /* first non standard character */ + cet_ucs4_cnt_iso_8859_supp, /* number of values in table */ + + cet_ucs4_to_iso_8859_supp_links, /* UCS-4 to char links */ + cet_ucs4_to_iso_8859_supp_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int iso_8859_supp_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + -1, -1, 0x0100, 0x0108, 0x010a, -1, 0x0116, 0x0112, + 0x011c, 0x2018, 0x201c, 0x2122, 0x2190, 0x2191, 0x2192, 0x2193, + -1, -1, 0x0101, 0x0109, 0x010b, 0x00f0, 0x0117, 0x0113, + 0x011d, 0x2019, 0x201d, 0x266a, 0x215b, 0x215c, 0x215d, 0x215e, + -1, 0x011e, 0x0120, 0x0122, 0x0124, 0x0126, 0x0128, 0x0130, + 0x012a, 0x012e, 0x0132, 0x0134, 0x0136, 0x013b, 0x013f, 0x0145, + 0x2014, 0x014a, 0x014c, 0x0152, 0x0156, 0x015c, 0x0166, 0x00de, + 0x0168, 0x016c, 0x016a, 0x0172, 0x0174, 0x00dd, 0x0176, 0x0178, + 0x2126, 0x011f, 0x0121, 0x0123, 0x0125, 0x0127, 0x0129, 0x0131, + 0x012b, 0x012f, 0x0133, 0x0135, 0x0137, 0x013c, 0x0140, 0x0146, + 0x0138, 0x014b, 0x014d, 0x0153, 0x0157, 0x015d, 0x0167, 0x00fe, + 0x0169, 0x016d, 0x016b, 0x0173, 0x0175, 0x00fd, 0x0177, 0x0149 +}; +*/ + +#endif diff --git a/gpsbabel/cet/it.h b/gpsbabel/cet/it.h new file mode 100644 index 000000000..178d100bf --- /dev/null +++ b/gpsbabel/cet/it.h @@ -0,0 +1,134 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "IT" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef it_h +#define it_h + +#define cet_cs_name_it "IT" + +const char *cet_cs_alias_it[] = +{ + "IT", "ISO646-IT", "iso-ir-15", NULL +}; + +#define cet_ucs4_ofs_it 35 +#define cet_ucs4_cnt_it 93 + +const int cet_ucs4_map_it[cet_ucs4_cnt_it] = +{ + 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, + 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, + 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x00a7, 0x0041, 0x0042, + 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, + 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, + 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, + 0x00b0, 0x00e7, 0x00e9, 0x005e, 0x005f, 0x00f9, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00e0, 0x00f2, 0x00e8, 0x00ec, 0x007f +}; + +#define cet_ucs4_to_it_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_it_links[cet_ucs4_to_it_ct] = +{ + {0x00a3, 0x23} /* sign */, + {0x00a7, 0x40} /* sign */, + {0x00b0, 0x5b} /* sign */, + {0x00e0, 0x7b} /* small letter a with grave */, + {0x00e7, 0x5c} /* small letter c with cedilla */, + {0x00e8, 0x7d} /* small letter e with grave */, + {0x00e9, 0x5d} /* small letter e with acute */, + {0x00ec, 0x7e} /* small letter i with grave */, + {0x00f2, 0x7c} /* small letter o with grave */, + {0x00f9, 0x60} /* small letter u with grave */ +}; + +/* +#define cet_ucs4_to_it_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_it_extra[cet_ucs4_to_it_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_it = /* defined in cet.h */ +{ + cet_cs_name_it, /* name of character set */ + cet_cs_alias_it, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_it, /* char to UCS-4 value table */ + cet_ucs4_ofs_it, /* first non standard character */ + cet_ucs4_cnt_it, /* number of values in table */ + + cet_ucs4_to_it_links, /* UCS-4 to char links */ + cet_ucs4_to_it_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int it_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00a7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00b0, 0x00e7, 0x00e9, 0x005e, 0x005f, + 0x00f9, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e0, 0x00f2, 0x00e8, 0x00ec, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/jis_c6220_1969_ro.h b/gpsbabel/cet/jis_c6220_1969_ro.h new file mode 100644 index 000000000..2227d0fcf --- /dev/null +++ b/gpsbabel/cet/jis_c6220_1969_ro.h @@ -0,0 +1,120 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "JIS_C6220-1969-ro" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef jis_c6220_1969_ro_h +#define jis_c6220_1969_ro_h + +#define cet_cs_name_jis_c6220_1969_ro "JIS_C6220-1969-ro" + +const char *cet_cs_alias_jis_c6220_1969_ro[] = +{ + "JIS_C6220-1969-ro", "csISO14JISC6220ro", "ISO646-JP", "iso-ir-14", + "jp", NULL +}; + +#define cet_ucs4_ofs_jis_c6220_1969_ro 92 +#define cet_ucs4_cnt_jis_c6220_1969_ro 36 + +const int cet_ucs4_map_jis_c6220_1969_ro[cet_ucs4_cnt_jis_c6220_1969_ro] = +{ + 0x00a5, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x203e, 0x007f +}; + +#define cet_ucs4_to_jis_c6220_1969_ro_ct 2 + +const cet_ucs4_link_t cet_ucs4_to_jis_c6220_1969_ro_links[cet_ucs4_to_jis_c6220_1969_ro_ct] = +{ + {0x00a5, 0x5c} /* sign */, + {0x203e, 0x7e} /* overline */ +}; + +/* +#define cet_ucs4_to_jis_c6220_1969_ro_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_jis_c6220_1969_ro_extra[cet_ucs4_to_jis_c6220_1969_ro_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_jis_c6220_1969_ro = /* defined in cet.h */ +{ + cet_cs_name_jis_c6220_1969_ro, /* name of character set */ + cet_cs_alias_jis_c6220_1969_ro, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_jis_c6220_1969_ro, /* char to UCS-4 value table */ + cet_ucs4_ofs_jis_c6220_1969_ro, /* first non standard character */ + cet_ucs4_cnt_jis_c6220_1969_ro, /* number of values in table */ + + cet_ucs4_to_jis_c6220_1969_ro_links, /* UCS-4 to char links */ + cet_ucs4_to_jis_c6220_1969_ro_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int jis_c6220_1969_ro_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x00a5, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/jis_x0201.h b/gpsbabel/cet/jis_x0201.h new file mode 100644 index 000000000..0675cb3ac --- /dev/null +++ b/gpsbabel/cet/jis_x0201.h @@ -0,0 +1,195 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "JIS_X0201" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef jis_x0201_h +#define jis_x0201_h + +#define cet_cs_name_jis_x0201 "JIS_X0201" + +const char *cet_cs_alias_jis_x0201[] = +{ + "JIS_X0201", "csHalfWidthKatakana", "JIS0201", "JISX0201-1976", + "JISX0201.1976-0", "X0201", NULL +}; + +#define cet_ucs4_ofs_jis_x0201 92 +#define cet_ucs4_cnt_jis_x0201 132 + +const int cet_ucs4_map_jis_x0201[cet_ucs4_cnt_jis_x0201] = +{ + 0x00a5, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x203e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, + 0x009c, 0x009d, 0x009e, 0x009f, -1, 0x3002, 0x300c, 0x300d, + 0x3001, 0x30fb, 0x30f2, 0x30a1, 0x30a3, 0x30a5, 0x30a7, 0x30a9, + 0x30e3, 0x30e5, 0x30e7, 0x30c3, 0x30fc, 0x30a2, 0x30a4, 0x30a6, + 0x30a8, 0x30aa, 0x30ab, 0x30ad, 0x30af, 0x30b1, 0x30b3, 0x30b5, + 0x30b7, 0x30b9, 0x30bb, 0x30bd, 0x30bf, 0x30c1, 0x30c4, 0x30c6, + 0x30c8, 0x30ca, 0x30cb, 0x30cc, 0x30cd, 0x30ce, 0x30cf, 0x30d2, + 0x30d5, 0x30d8, 0x30db, 0x30de, 0x30df, 0x30e0, 0x30e1, 0x30e2, + 0x30e4, 0x30e6, 0x30e8, 0x30e9, 0x30ea, 0x30eb, 0x30ec, 0x30ed, + 0x30ef, 0x30f3, 0x309b, 0x309c +}; + +#define cet_ucs4_to_jis_x0201_ct 65 + +const cet_ucs4_link_t cet_ucs4_to_jis_x0201_links[cet_ucs4_to_jis_x0201_ct] = +{ + {0x00a5, 0x5c} /* sign */, + {0x203e, 0x7e} /* overline */, + {0x3001, 0xa4} /* comma */, + {0x3002, 0xa1} /* period */, + {0x300c, 0xa2} /* corner bracket */, + {0x300d, 0xa3} /* corner bracket */, + {0x309b, 0xde} /* voiced sound mark */, + {0x309c, 0xdf} /* semi-voiced sound mark */, + {0x30a1, 0xa7} /* letter small a */, + {0x30a2, 0xb1} /* letter a */, + {0x30a3, 0xa8} /* letter small i */, + {0x30a4, 0xb2} /* letter i */, + {0x30a5, 0xa9} /* letter small u */, + {0x30a6, 0xb3} /* letter u */, + {0x30a7, 0xaa} /* letter small e */, + {0x30a8, 0xb4} /* letter e */, + {0x30a9, 0xab} /* letter small o */, + {0x30aa, 0xb5} /* letter o */, + {0x30ab, 0xb6} /* letter ka */, + {0x30ad, 0xb7} /* letter ki */, + {0x30af, 0xb8} /* letter ku */, + {0x30b1, 0xb9} /* letter ke */, + {0x30b3, 0xba} /* letter ko */, + {0x30b5, 0xbb} /* letter sa */, + {0x30b7, 0xbc} /* letter si */, + {0x30b9, 0xbd} /* letter su */, + {0x30bb, 0xbe} /* letter se */, + {0x30bd, 0xbf} /* letter so */, + {0x30bf, 0xc0} /* letter ta */, + {0x30c1, 0xc1} /* letter ti */, + {0x30c3, 0xaf} /* letter small tu */, + {0x30c4, 0xc2} /* letter tu */, + {0x30c6, 0xc3} /* letter te */, + {0x30c8, 0xc4} /* letter to */, + {0x30ca, 0xc5} /* letter na */, + {0x30cb, 0xc6} /* letter ni */, + {0x30cc, 0xc7} /* letter nu */, + {0x30cd, 0xc8} /* letter ne */, + {0x30ce, 0xc9} /* letter no */, + {0x30cf, 0xca} /* letter ha */, + {0x30d2, 0xcb} /* letter hi */, + {0x30d5, 0xcc} /* letter hu */, + {0x30d8, 0xcd} /* letter he */, + {0x30db, 0xce} /* letter ho */, + {0x30de, 0xcf} /* letter ma */, + {0x30df, 0xd0} /* letter mi */, + {0x30e0, 0xd1} /* letter mu */, + {0x30e1, 0xd2} /* letter me */, + {0x30e2, 0xd3} /* letter mo */, + {0x30e3, 0xac} /* letter small ya */, + {0x30e4, 0xd4} /* letter ya */, + {0x30e5, 0xad} /* letter small yu */, + {0x30e6, 0xd5} /* letter yu */, + {0x30e7, 0xae} /* letter small yo */, + {0x30e8, 0xd6} /* letter yo */, + {0x30e9, 0xd7} /* letter ra */, + {0x30ea, 0xd8} /* letter ri */, + {0x30eb, 0xd9} /* letter ru */, + {0x30ec, 0xda} /* letter re */, + {0x30ed, 0xdb} /* letter ro */, + {0x30ef, 0xdc} /* letter wa */, + {0x30f2, 0xa6} /* letter wo */, + {0x30f3, 0xdd} /* letter n */, + {0x30fb, 0xa5} /* middle dot */, + {0x30fc, 0xb0} /* prolonged sound mark */ +}; + +/* +#define cet_ucs4_to_jis_x0201_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_jis_x0201_extra[cet_ucs4_to_jis_x0201_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_jis_x0201 = /* defined in cet.h */ +{ + cet_cs_name_jis_x0201, /* name of character set */ + cet_cs_alias_jis_x0201, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_jis_x0201, /* char to UCS-4 value table */ + cet_ucs4_ofs_jis_x0201, /* first non standard character */ + cet_ucs4_cnt_jis_x0201, /* number of values in table */ + + cet_ucs4_to_jis_x0201_links, /* UCS-4 to char links */ + cet_ucs4_to_jis_x0201_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int jis_x0201_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x00a5, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + -1, 0x3002, 0x300c, 0x300d, 0x3001, 0x30fb, 0x30f2, 0x30a1, + 0x30a3, 0x30a5, 0x30a7, 0x30a9, 0x30e3, 0x30e5, 0x30e7, 0x30c3, + 0x30fc, 0x30a2, 0x30a4, 0x30a6, 0x30a8, 0x30aa, 0x30ab, 0x30ad, + 0x30af, 0x30b1, 0x30b3, 0x30b5, 0x30b7, 0x30b9, 0x30bb, 0x30bd, + 0x30bf, 0x30c1, 0x30c4, 0x30c6, 0x30c8, 0x30ca, 0x30cb, 0x30cc, + 0x30cd, 0x30ce, 0x30cf, 0x30d2, 0x30d5, 0x30d8, 0x30db, 0x30de, + 0x30df, 0x30e0, 0x30e1, 0x30e2, 0x30e4, 0x30e6, 0x30e8, 0x30e9, + 0x30ea, 0x30eb, 0x30ec, 0x30ed, 0x30ef, 0x30f3, 0x309b, 0x309c, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/jus_i_b1_002.h b/gpsbabel/cet/jus_i_b1_002.h new file mode 100644 index 000000000..fc8c7e936 --- /dev/null +++ b/gpsbabel/cet/jus_i_b1_002.h @@ -0,0 +1,131 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "JUS_I.B1.002" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef jus_i_b1_002_h +#define jus_i_b1_002_h + +#define cet_cs_name_jus_i_b1_002 "JUS_I.B1.002" + +const char *cet_cs_alias_jus_i_b1_002[] = +{ + "JUS_I.B1.002", "ISO646-YU", "iso-ir-141", "js", + "yu", NULL +}; + +#define cet_ucs4_ofs_jus_i_b1_002 64 +#define cet_ucs4_cnt_jus_i_b1_002 64 + +const int cet_ucs4_map_jus_i_b1_002[cet_ucs4_cnt_jus_i_b1_002] = +{ + 0x017d, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x0160, 0x0110, 0x0106, 0x010c, 0x005f, + 0x017e, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x0161, 0x0111, 0x0107, 0x010d, 0x007f +}; + +#define cet_ucs4_to_jus_i_b1_002_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_jus_i_b1_002_links[cet_ucs4_to_jus_i_b1_002_ct] = +{ + {0x0106, 0x5d} /* capital letter c with acute */, + {0x0107, 0x7d} /* small letter c with acute */, + {0x010c, 0x5e} /* capital letter c with caron */, + {0x010d, 0x7e} /* small letter c with caron */, + {0x0110, 0x5c} /* capital letter d with stroke */, + {0x0111, 0x7c} /* small letter d with stroke */, + {0x0160, 0x5b} /* capital letter s with caron */, + {0x0161, 0x7b} /* small letter s with caron */, + {0x017d, 0x40} /* capital letter z with caron */, + {0x017e, 0x60} /* small letter z with caron */ +}; + +/* +#define cet_ucs4_to_jus_i_b1_002_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_jus_i_b1_002_extra[cet_ucs4_to_jus_i_b1_002_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_jus_i_b1_002 = /* defined in cet.h */ +{ + cet_cs_name_jus_i_b1_002, /* name of character set */ + cet_cs_alias_jus_i_b1_002, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_jus_i_b1_002, /* char to UCS-4 value table */ + cet_ucs4_ofs_jus_i_b1_002, /* first non standard character */ + cet_ucs4_cnt_jus_i_b1_002, /* number of values in table */ + + cet_ucs4_to_jus_i_b1_002_links, /* UCS-4 to char links */ + cet_ucs4_to_jus_i_b1_002_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int jus_i_b1_002_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x017d, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x0160, 0x0110, 0x0106, 0x010c, 0x005f, + 0x017e, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x0161, 0x0111, 0x0107, 0x010d, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/jus_i_b1_003_mac.h b/gpsbabel/cet/jus_i_b1_003_mac.h new file mode 100644 index 000000000..7082a0d43 --- /dev/null +++ b/gpsbabel/cet/jus_i_b1_003_mac.h @@ -0,0 +1,182 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "JUS_I.B1.003-mac" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef jus_i_b1_003_mac_h +#define jus_i_b1_003_mac_h + +#define cet_cs_name_jus_i_b1_003_mac "JUS_I.B1.003-mac" + +const char *cet_cs_alias_jus_i_b1_003_mac[] = +{ + "JUS_I.B1.003-mac", "iso-ir-147", "macedonian", NULL +}; + +#define cet_ucs4_ofs_jus_i_b1_003_mac 64 +#define cet_ucs4_cnt_jus_i_b1_003_mac 64 + +const int cet_ucs4_map_jus_i_b1_003_mac[cet_ucs4_cnt_jus_i_b1_003_mac] = +{ + 0x0416, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0408, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x0409, 0x0420, 0x0421, 0x0422, 0x0423, 0x0412, 0x040a, + 0x040f, 0x0405, 0x0417, 0x0428, 0x0403, 0x040c, 0x0427, 0x005f, + 0x0436, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0458, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x0459, 0x0440, 0x0441, 0x0442, 0x0443, 0x0432, 0x045a, + 0x045f, 0x0455, 0x0437, 0x0448, 0x0453, 0x045c, 0x0447, 0x007f +}; + +#define cet_ucs4_to_jus_i_b1_003_mac_ct 62 + +const cet_ucs4_link_t cet_ucs4_to_jus_i_b1_003_mac_links[cet_ucs4_to_jus_i_b1_003_mac_ct] = +{ + {0x0403, 0x5c} /* capital letter gje (macedonian) */, + {0x0405, 0x59} /* capital letter dze (macedonian) */, + {0x0408, 0x4a} /* capital letter je */, + {0x0409, 0x51} /* capital letter lje */, + {0x040a, 0x57} /* capital letter nje */, + {0x040c, 0x5d} /* capital letter kje (macedonian) */, + {0x040f, 0x58} /* capital letter dzhe */, + {0x0410, 0x41} /* capital letter a */, + {0x0411, 0x42} /* capital letter be */, + {0x0412, 0x56} /* capital letter ve */, + {0x0413, 0x47} /* capital letter ghe */, + {0x0414, 0x44} /* capital letter de */, + {0x0415, 0x45} /* capital letter ie */, + {0x0416, 0x40} /* capital letter zhe */, + {0x0417, 0x5a} /* capital letter ze */, + {0x0418, 0x49} /* capital letter i */, + {0x041a, 0x4b} /* capital letter ka */, + {0x041b, 0x4c} /* capital letter el */, + {0x041c, 0x4d} /* capital letter em */, + {0x041d, 0x4e} /* capital letter en */, + {0x041e, 0x4f} /* capital letter o */, + {0x041f, 0x50} /* capital letter pe */, + {0x0420, 0x52} /* capital letter er */, + {0x0421, 0x53} /* capital letter es */, + {0x0422, 0x54} /* capital letter te */, + {0x0423, 0x55} /* capital letter u */, + {0x0424, 0x46} /* capital letter ef */, + {0x0425, 0x48} /* capital letter ha */, + {0x0426, 0x43} /* capital letter tse */, + {0x0427, 0x5e} /* capital letter che */, + {0x0428, 0x5b} /* capital letter sha */, + {0x0430, 0x61} /* small letter a */, + {0x0431, 0x62} /* small letter be */, + {0x0432, 0x76} /* small letter ve */, + {0x0433, 0x67} /* small letter ghe */, + {0x0434, 0x64} /* small letter de */, + {0x0435, 0x65} /* small letter ie */, + {0x0436, 0x60} /* small letter zhe */, + {0x0437, 0x7a} /* small letter ze */, + {0x0438, 0x69} /* small letter i */, + {0x043a, 0x6b} /* small letter ka */, + {0x043b, 0x6c} /* small letter el */, + {0x043c, 0x6d} /* small letter em */, + {0x043d, 0x6e} /* small letter en */, + {0x043e, 0x6f} /* small letter o */, + {0x043f, 0x70} /* small letter pe */, + {0x0440, 0x72} /* small letter er */, + {0x0441, 0x73} /* small letter es */, + {0x0442, 0x74} /* small letter te */, + {0x0443, 0x75} /* small letter u */, + {0x0444, 0x66} /* small letter ef */, + {0x0445, 0x68} /* small letter ha */, + {0x0446, 0x63} /* small letter tse */, + {0x0447, 0x7e} /* small letter che */, + {0x0448, 0x7b} /* small letter sha */, + {0x0453, 0x7c} /* small letter gje (macedonian) */, + {0x0455, 0x79} /* small letter dze (macedonian) */, + {0x0458, 0x6a} /* small letter je */, + {0x0459, 0x71} /* small letter lje */, + {0x045a, 0x77} /* small letter nje */, + {0x045c, 0x7d} /* small letter kje (macedonian) */, + {0x045f, 0x78} /* small letter dzhe */ +}; + +/* +#define cet_ucs4_to_jus_i_b1_003_mac_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_jus_i_b1_003_mac_extra[cet_ucs4_to_jus_i_b1_003_mac_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_jus_i_b1_003_mac = /* defined in cet.h */ +{ + cet_cs_name_jus_i_b1_003_mac, /* name of character set */ + cet_cs_alias_jus_i_b1_003_mac, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_jus_i_b1_003_mac, /* char to UCS-4 value table */ + cet_ucs4_ofs_jus_i_b1_003_mac, /* first non standard character */ + cet_ucs4_cnt_jus_i_b1_003_mac, /* number of values in table */ + + cet_ucs4_to_jus_i_b1_003_mac_links, /* UCS-4 to char links */ + cet_ucs4_to_jus_i_b1_003_mac_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int jus_i_b1_003_mac_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0416, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0408, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x0409, 0x0420, 0x0421, 0x0422, 0x0423, 0x0412, 0x040a, + 0x040f, 0x0405, 0x0417, 0x0428, 0x0403, 0x040c, 0x0427, 0x005f, + 0x0436, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0458, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x0459, 0x0440, 0x0441, 0x0442, 0x0443, 0x0432, 0x045a, + 0x045f, 0x0455, 0x0437, 0x0448, 0x0453, 0x045c, 0x0447, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/jus_i_b1_003_serb.h b/gpsbabel/cet/jus_i_b1_003_serb.h new file mode 100644 index 000000000..10b81f1ec --- /dev/null +++ b/gpsbabel/cet/jus_i_b1_003_serb.h @@ -0,0 +1,182 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "JUS_I.B1.003-serb" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef jus_i_b1_003_serb_h +#define jus_i_b1_003_serb_h + +#define cet_cs_name_jus_i_b1_003_serb "JUS_I.B1.003-serb" + +const char *cet_cs_alias_jus_i_b1_003_serb[] = +{ + "JUS_I.B1.003-serb", "iso-ir-146", "serbian", NULL +}; + +#define cet_ucs4_ofs_jus_i_b1_003_serb 64 +#define cet_ucs4_cnt_jus_i_b1_003_serb 64 + +const int cet_ucs4_map_jus_i_b1_003_serb[cet_ucs4_cnt_jus_i_b1_003_serb] = +{ + 0x0416, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0408, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x0409, 0x0420, 0x0421, 0x0422, 0x0423, 0x0412, 0x040a, + 0x040f, 0x0405, 0x0417, 0x0428, 0x0402, 0x040b, 0x0427, 0x005f, + 0x0436, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0458, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x0459, 0x0440, 0x0441, 0x0442, 0x0443, 0x0432, 0x045a, + 0x045f, 0x0455, 0x0437, 0x0448, 0x0452, 0x045b, 0x0447, 0x007f +}; + +#define cet_ucs4_to_jus_i_b1_003_serb_ct 62 + +const cet_ucs4_link_t cet_ucs4_to_jus_i_b1_003_serb_links[cet_ucs4_to_jus_i_b1_003_serb_ct] = +{ + {0x0402, 0x5c} /* capital letter dje (serbocroatian) */, + {0x0405, 0x59} /* capital letter dze (macedonian) */, + {0x0408, 0x4a} /* capital letter je */, + {0x0409, 0x51} /* capital letter lje */, + {0x040a, 0x57} /* capital letter nje */, + {0x040b, 0x5d} /* capital letter tshe (serbocroatian) */, + {0x040f, 0x58} /* capital letter dzhe */, + {0x0410, 0x41} /* capital letter a */, + {0x0411, 0x42} /* capital letter be */, + {0x0412, 0x56} /* capital letter ve */, + {0x0413, 0x47} /* capital letter ghe */, + {0x0414, 0x44} /* capital letter de */, + {0x0415, 0x45} /* capital letter ie */, + {0x0416, 0x40} /* capital letter zhe */, + {0x0417, 0x5a} /* capital letter ze */, + {0x0418, 0x49} /* capital letter i */, + {0x041a, 0x4b} /* capital letter ka */, + {0x041b, 0x4c} /* capital letter el */, + {0x041c, 0x4d} /* capital letter em */, + {0x041d, 0x4e} /* capital letter en */, + {0x041e, 0x4f} /* capital letter o */, + {0x041f, 0x50} /* capital letter pe */, + {0x0420, 0x52} /* capital letter er */, + {0x0421, 0x53} /* capital letter es */, + {0x0422, 0x54} /* capital letter te */, + {0x0423, 0x55} /* capital letter u */, + {0x0424, 0x46} /* capital letter ef */, + {0x0425, 0x48} /* capital letter ha */, + {0x0426, 0x43} /* capital letter tse */, + {0x0427, 0x5e} /* capital letter che */, + {0x0428, 0x5b} /* capital letter sha */, + {0x0430, 0x61} /* small letter a */, + {0x0431, 0x62} /* small letter be */, + {0x0432, 0x76} /* small letter ve */, + {0x0433, 0x67} /* small letter ghe */, + {0x0434, 0x64} /* small letter de */, + {0x0435, 0x65} /* small letter ie */, + {0x0436, 0x60} /* small letter zhe */, + {0x0437, 0x7a} /* small letter ze */, + {0x0438, 0x69} /* small letter i */, + {0x043a, 0x6b} /* small letter ka */, + {0x043b, 0x6c} /* small letter el */, + {0x043c, 0x6d} /* small letter em */, + {0x043d, 0x6e} /* small letter en */, + {0x043e, 0x6f} /* small letter o */, + {0x043f, 0x70} /* small letter pe */, + {0x0440, 0x72} /* small letter er */, + {0x0441, 0x73} /* small letter es */, + {0x0442, 0x74} /* small letter te */, + {0x0443, 0x75} /* small letter u */, + {0x0444, 0x66} /* small letter ef */, + {0x0445, 0x68} /* small letter ha */, + {0x0446, 0x63} /* small letter tse */, + {0x0447, 0x7e} /* small letter che */, + {0x0448, 0x7b} /* small letter sha */, + {0x0452, 0x7c} /* small letter dje (serbocroatian) */, + {0x0455, 0x79} /* small letter dze (macedonian) */, + {0x0458, 0x6a} /* small letter je */, + {0x0459, 0x71} /* small letter lje */, + {0x045a, 0x77} /* small letter nje */, + {0x045b, 0x7d} /* small letter tshe (serbocroatian) */, + {0x045f, 0x78} /* small letter dzhe */ +}; + +/* +#define cet_ucs4_to_jus_i_b1_003_serb_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_jus_i_b1_003_serb_extra[cet_ucs4_to_jus_i_b1_003_serb_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_jus_i_b1_003_serb = /* defined in cet.h */ +{ + cet_cs_name_jus_i_b1_003_serb, /* name of character set */ + cet_cs_alias_jus_i_b1_003_serb, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_jus_i_b1_003_serb, /* char to UCS-4 value table */ + cet_ucs4_ofs_jus_i_b1_003_serb, /* first non standard character */ + cet_ucs4_cnt_jus_i_b1_003_serb, /* number of values in table */ + + cet_ucs4_to_jus_i_b1_003_serb_links, /* UCS-4 to char links */ + cet_ucs4_to_jus_i_b1_003_serb_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int jus_i_b1_003_serb_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0416, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0408, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x0409, 0x0420, 0x0421, 0x0422, 0x0423, 0x0412, 0x040a, + 0x040f, 0x0405, 0x0417, 0x0428, 0x0402, 0x040b, 0x0427, 0x005f, + 0x0436, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0458, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x0459, 0x0440, 0x0441, 0x0442, 0x0443, 0x0432, 0x045a, + 0x045f, 0x0455, 0x0437, 0x0448, 0x0452, 0x045b, 0x0447, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/keybcs2.h b/gpsbabel/cet/keybcs2.h new file mode 100644 index 000000000..29b0cbb1b --- /dev/null +++ b/gpsbabel/cet/keybcs2.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KEYBCS2" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef keybcs2_h +#define keybcs2_h + +#define cet_cs_name_keybcs2 "KEYBCS2" + +const char *cet_cs_alias_keybcs2[] = +{ + "KEYBCS2", "Kamenicky", NULL +}; + +#define cet_ucs4_ofs_keybcs2 128 +#define cet_ucs4_cnt_keybcs2 128 + +const int cet_ucs4_map_keybcs2[cet_ucs4_cnt_keybcs2] = +{ + 0x010c, 0x00fc, 0x00e9, 0x010f, 0x00e4, 0x010e, 0x0164, 0x010d, + 0x011b, 0x011a, 0x0139, 0x00cd, 0x013e, 0x013a, 0x00c4, 0x00c1, + 0x00c9, 0x017e, 0x017d, 0x00f4, 0x00f6, 0x00d3, 0x016f, 0x00da, + 0x00fd, 0x00d6, 0x00dc, 0x0160, 0x013d, 0x00dd, 0x0158, 0x0165, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x0148, 0x0147, 0x016e, 0x00d4, + 0x0161, 0x0159, 0x0155, 0x0154, 0x00bc, 0x00a7, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x03b2, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x03bc, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2219, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; + +#define cet_ucs4_to_keybcs2_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_keybcs2_links[cet_ucs4_to_keybcs2_ct] = +{ + {0x00a0, 0xff} /* space */, + {0x00a7, 0xad} /* sign */, + {0x00ab, 0xae} /* double angle quotation mark */, + {0x00b1, 0xf1} /* sign */, + {0x00b2, 0xfd} /* two */, + {0x00b7, 0xf9} /* dot */, + {0x00bb, 0xaf} /* double angle quotation mark */, + {0x00bc, 0xac} /* fraction one quarter */, + {0x00c1, 0x8f} /* capital letter a with acute */, + {0x00c4, 0x8e} /* capital letter a with diaeresis */, + {0x00c9, 0x90} /* capital letter e with acute */, + {0x00cd, 0x8b} /* capital letter i with acute */, + {0x00d3, 0x95} /* capital letter o with acute */, + {0x00d4, 0xa7} /* capital letter o with circumflex */, + {0x00d6, 0x99} /* capital letter o with diaeresis */, + {0x00da, 0x97} /* capital letter u with acute */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00dd, 0x9d} /* capital letter y with acute */, + {0x00e1, 0xa0} /* small letter a with acute */, + {0x00e4, 0x84} /* small letter a with diaeresis */, + {0x00e9, 0x82} /* small letter e with acute */, + {0x00ed, 0xa1} /* small letter i with acute */, + {0x00f3, 0xa2} /* small letter o with acute */, + {0x00f4, 0x93} /* small letter o with circumflex */, + {0x00f6, 0x94} /* small letter o with diaeresis */, + {0x00f7, 0xf6} /* sign */, + {0x00fa, 0xa3} /* small letter u with acute */, + {0x00fc, 0x81} /* small letter u with diaeresis */, + {0x00fd, 0x98} /* small letter y with acute */, + {0x010c, 0x80} /* capital letter c with caron */, + {0x010d, 0x87} /* small letter c with caron */, + {0x010e, 0x85} /* capital letter d with caron */, + {0x010f, 0x83} /* small letter d with caron */, + {0x011a, 0x89} /* capital letter e with caron */, + {0x011b, 0x88} /* small letter e with caron */, + {0x0139, 0x8a} /* capital letter l with acute */, + {0x013a, 0x8d} /* small letter l with acute */, + {0x013d, 0x9c} /* capital letter l with caron */, + {0x013e, 0x8c} /* small letter l with caron */, + {0x0147, 0xa5} /* capital letter n with caron */, + {0x0148, 0xa4} /* small letter n with caron */, + {0x0154, 0xab} /* capital letter r with acute */, + {0x0155, 0xaa} /* small letter r with acute */, + {0x0158, 0x9e} /* capital letter r with caron */, + {0x0159, 0xa9} /* small letter r with caron */, + {0x0160, 0x9b} /* capital letter s with caron */, + {0x0161, 0xa8} /* small letter s with caron */, + {0x0164, 0x86} /* capital letter t with caron */, + {0x0165, 0x9f} /* small letter t with caron */, + {0x016e, 0xa6} /* capital letter u with ring above */, + {0x016f, 0x96} /* small letter u with ring above */, + {0x017d, 0x92} /* capital letter z with caron */, + {0x017e, 0x91} /* small letter z with caron */, + {0x0393, 0xe2} /* capital letter gamma */, + {0x0398, 0xe9} /* capital letter theta */, + {0x03a3, 0xe4} /* capital letter sigma */, + {0x03a6, 0xe8} /* capital letter phi */, + {0x03a9, 0xea} /* capital letter omega */, + {0x03b1, 0xe0} /* small letter alpha */, + {0x03b2, 0xe1} /* small letter beta */, + {0x03b4, 0xeb} /* small letter delta */, + {0x03b5, 0xee} /* small letter epsilon */, + {0x03bc, 0xe6} /* small letter mu */, + {0x03c0, 0xe3} /* small letter pi */, + {0x03c3, 0xe5} /* small letter sigma */, + {0x03c4, 0xe7} /* small letter tau */, + {0x207f, 0xfc} /* latin small letter n */, + {0x2205, 0xed} /* set */, + {0x2218, 0xf8} /* operator */, + {0x2219, 0xfa} /* operator */, + {0x221a, 0xfb} /* root */, + {0x221e, 0xec} /* infinity */, + {0x2229, 0xef} /* intersection */, + {0x2248, 0xf7} /* equal to */, + {0x2261, 0xf0} /* to */, + {0x2264, 0xf3} /* or equal to */, + {0x2265, 0xf2} /* or equal to */, + {0x2320, 0xf4} /* half integral */, + {0x2321, 0xf5} /* half integral */, + {0x2500, 0xc4} /* drawings light horizontal */, + {0x2502, 0xb3} /* drawings light vertical */, + {0x250c, 0xda} /* drawings light down and right */, + {0x2510, 0xbf} /* drawings light down and left */, + {0x2514, 0xc0} /* drawings light up and right */, + {0x2518, 0xd9} /* drawings light up and left */, + {0x251c, 0xc3} /* drawings light vertical and right */, + {0x2524, 0xb4} /* drawings light vertical and left */, + {0x252c, 0xc2} /* drawings light down and horizontal */, + {0x2534, 0xc1} /* drawings light up and horizontal */, + {0x253c, 0xc5} /* drawings light vertical and horizontal */, + {0x2550, 0xcd} /* drawings heavy horizontal */, + {0x2551, 0xba} /* drawings heavy vertical */, + {0x2552, 0xd5} /* drawings down light and right heavy */, + {0x2553, 0xd6} /* drawings down heavy and right light */, + {0x2554, 0xc9} /* drawings heavy down and right */, + {0x2555, 0xb8} /* drawings down light and left heavy */, + {0x2556, 0xb7} /* drawings down heavy and left light */, + {0x2557, 0xbb} /* drawings heavy down and left */, + {0x2558, 0xd4} /* drawings up light and right heavy */, + {0x2559, 0xd3} /* drawings up heavy and right light */, + {0x255a, 0xc8} /* drawings heavy up and right */, + {0x255b, 0xbe} /* drawings up light and left heavy */, + {0x255c, 0xbd} /* drawings up heavy and left light */, + {0x255d, 0xbc} /* drawings heavy up and left */, + {0x255e, 0xc6} /* drawings vertical light and right heavy */, + {0x255f, 0xc7} /* drawings vertical heavy and right light */, + {0x2560, 0xcc} /* drawings heavy vertical and right */, + {0x2561, 0xb5} /* drawings vertical light and left heavy */, + {0x2562, 0xb6} /* drawings vertical heavy and left light */, + {0x2563, 0xb9} /* drawings heavy vertical and left */, + {0x2564, 0xd1} /* drawings down light and horizontal heavy */, + {0x2565, 0xd2} /* drawings down heavy and horizontal light */, + {0x2566, 0xcb} /* drawings heavy down and horizontal */, + {0x2567, 0xcf} /* drawings up light and horizontal heavy */, + {0x2568, 0xd0} /* drawings up heavy and horizontal light */, + {0x2569, 0xca} /* drawings heavy up and horizontal */, + {0x256a, 0xd8} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xd7} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xce} /* drawings heavy vertical and horizontal */, + {0x2580, 0xdf} /* half block */, + {0x2584, 0xdc} /* half block */, + {0x2588, 0xdb} /* block */, + {0x258c, 0xdd} /* half block */, + {0x2590, 0xde} /* half block */, + {0x2591, 0xb0} /* shade */, + {0x2592, 0xb1} /* shade */, + {0x2593, 0xb2} /* shade */, + {0x25a0, 0xfe} /* square */ +}; + +/* +#define cet_ucs4_to_keybcs2_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_keybcs2_extra[cet_ucs4_to_keybcs2_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_keybcs2 = /* defined in cet.h */ +{ + cet_cs_name_keybcs2, /* name of character set */ + cet_cs_alias_keybcs2, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_keybcs2, /* char to UCS-4 value table */ + cet_ucs4_ofs_keybcs2, /* first non standard character */ + cet_ucs4_cnt_keybcs2, /* number of values in table */ + + cet_ucs4_to_keybcs2_links, /* UCS-4 to char links */ + cet_ucs4_to_keybcs2_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int keybcs2_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x010c, 0x00fc, 0x00e9, 0x010f, 0x00e4, 0x010e, 0x0164, 0x010d, + 0x011b, 0x011a, 0x0139, 0x00cd, 0x013e, 0x013a, 0x00c4, 0x00c1, + 0x00c9, 0x017e, 0x017d, 0x00f4, 0x00f6, 0x00d3, 0x016f, 0x00da, + 0x00fd, 0x00d6, 0x00dc, 0x0160, 0x013d, 0x00dd, 0x0158, 0x0165, + 0x00e1, 0x00ed, 0x00f3, 0x00fa, 0x0148, 0x0147, 0x016e, 0x00d4, + 0x0161, 0x0159, 0x0155, 0x0154, 0x00bc, 0x00a7, 0x00ab, 0x00bb, + 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556, + 0x2555, 0x2563, 0x2551, 0x2557, 0x255d, 0x255c, 0x255b, 0x2510, + 0x2514, 0x2534, 0x252c, 0x251c, 0x2500, 0x253c, 0x255e, 0x255f, + 0x255a, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256c, 0x2567, + 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256b, + 0x256a, 0x2518, 0x250c, 0x2588, 0x2584, 0x258c, 0x2590, 0x2580, + 0x03b1, 0x03b2, 0x0393, 0x03c0, 0x03a3, 0x03c3, 0x03bc, 0x03c4, + 0x03a6, 0x0398, 0x03a9, 0x03b4, 0x221e, 0x2205, 0x03b5, 0x2229, + 0x2261, 0x00b1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00f7, 0x2248, + 0x2218, 0x00b7, 0x2219, 0x221a, 0x207f, 0x00b2, 0x25a0, 0x00a0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/koi8_r.h b/gpsbabel/cet/koi8_r.h new file mode 100644 index 000000000..36f63e453 --- /dev/null +++ b/gpsbabel/cet/koi8_r.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KOI8-R" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef koi8_r_h +#define koi8_r_h + +#define cet_cs_name_koi8_r "KOI8-R" + +const char *cet_cs_alias_koi8_r[] = +{ + "KOI8-R", "csKOI8R", NULL +}; + +#define cet_ucs4_ofs_koi8_r 128 +#define cet_ucs4_cnt_koi8_r 128 + +const int cet_ucs4_map_koi8_r[cet_ucs4_cnt_koi8_r] = +{ + 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2022, 0x221a, 0x2248, + 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, + 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e, + 0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a +}; + +#define cet_ucs4_to_koi8_r_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_koi8_r_links[cet_ucs4_to_koi8_r_ct] = +{ + {0x00a0, 0x9a} /* space */, + {0x00a9, 0xbf} /* sign */, + {0x00b0, 0x9c} /* sign */, + {0x00b2, 0x9d} /* two */, + {0x00b7, 0x9e} /* dot */, + {0x00f7, 0x9f} /* sign */, + {0x0401, 0xb3} /* capital letter io */, + {0x0410, 0xe1} /* capital letter a */, + {0x0411, 0xe2} /* capital letter be */, + {0x0412, 0xf7} /* capital letter ve */, + {0x0413, 0xe7} /* capital letter ghe */, + {0x0414, 0xe4} /* capital letter de */, + {0x0415, 0xe5} /* capital letter ie */, + {0x0416, 0xf6} /* capital letter zhe */, + {0x0417, 0xfa} /* capital letter ze */, + {0x0418, 0xe9} /* capital letter i */, + {0x0419, 0xea} /* capital letter short i */, + {0x041a, 0xeb} /* capital letter ka */, + {0x041b, 0xec} /* capital letter el */, + {0x041c, 0xed} /* capital letter em */, + {0x041d, 0xee} /* capital letter en */, + {0x041e, 0xef} /* capital letter o */, + {0x041f, 0xf0} /* capital letter pe */, + {0x0420, 0xf2} /* capital letter er */, + {0x0421, 0xf3} /* capital letter es */, + {0x0422, 0xf4} /* capital letter te */, + {0x0423, 0xf5} /* capital letter u */, + {0x0424, 0xe6} /* capital letter ef */, + {0x0425, 0xe8} /* capital letter ha */, + {0x0426, 0xe3} /* capital letter tse */, + {0x0427, 0xfe} /* capital letter che */, + {0x0428, 0xfb} /* capital letter sha */, + {0x0429, 0xfd} /* capital letter shcha */, + {0x042a, 0xff} /* capital letter hard sign */, + {0x042b, 0xf9} /* capital letter yeru */, + {0x042c, 0xf8} /* capital letter soft sign */, + {0x042d, 0xfc} /* capital letter e */, + {0x042e, 0xe0} /* capital letter yu */, + {0x042f, 0xf1} /* capital letter ya */, + {0x0430, 0xc1} /* small letter a */, + {0x0431, 0xc2} /* small letter be */, + {0x0432, 0xd7} /* small letter ve */, + {0x0433, 0xc7} /* small letter ghe */, + {0x0434, 0xc4} /* small letter de */, + {0x0435, 0xc5} /* small letter ie */, + {0x0436, 0xd6} /* small letter zhe */, + {0x0437, 0xda} /* small letter ze */, + {0x0438, 0xc9} /* small letter i */, + {0x0439, 0xca} /* small letter short i */, + {0x043a, 0xcb} /* small letter ka */, + {0x043b, 0xcc} /* small letter el */, + {0x043c, 0xcd} /* small letter em */, + {0x043d, 0xce} /* small letter en */, + {0x043e, 0xcf} /* small letter o */, + {0x043f, 0xd0} /* small letter pe */, + {0x0440, 0xd2} /* small letter er */, + {0x0441, 0xd3} /* small letter es */, + {0x0442, 0xd4} /* small letter te */, + {0x0443, 0xd5} /* small letter u */, + {0x0444, 0xc6} /* small letter ef */, + {0x0445, 0xc8} /* small letter ha */, + {0x0446, 0xc3} /* small letter tse */, + {0x0447, 0xde} /* small letter che */, + {0x0448, 0xdb} /* small letter sha */, + {0x0449, 0xdd} /* small letter shcha */, + {0x044a, 0xdf} /* small letter hard sign */, + {0x044b, 0xd9} /* small letter yeru */, + {0x044c, 0xd8} /* small letter soft sign */, + {0x044d, 0xdc} /* small letter e */, + {0x044e, 0xc0} /* small letter yu */, + {0x044f, 0xd1} /* small letter ya */, + {0x0451, 0xa3} /* small letter io */, + {0x2022, 0x95} /* puce */, + {0x221a, 0x96} /* root */, + {0x2248, 0x97} /* equal to */, + {0x2264, 0x98} /* or equal to */, + {0x2265, 0x99} /* or equal to */, + {0x2320, 0x93} /* half integral */, + {0x2321, 0x9b} /* half integral */, + {0x2500, 0x80} /* drawings light horizontal */, + {0x2502, 0x81} /* drawings light vertical */, + {0x250c, 0x82} /* drawings light down and right */, + {0x2510, 0x83} /* drawings light down and left */, + {0x2514, 0x84} /* drawings light up and right */, + {0x2518, 0x85} /* drawings light up and left */, + {0x251c, 0x86} /* drawings light vertical and right */, + {0x2524, 0x87} /* drawings light vertical and left */, + {0x252c, 0x88} /* drawings light down and horizontal */, + {0x2534, 0x89} /* drawings light up and horizontal */, + {0x253c, 0x8a} /* drawings light vertical and horizontal */, + {0x2550, 0xa0} /* drawings heavy horizontal */, + {0x2551, 0xa1} /* drawings heavy vertical */, + {0x2552, 0xa2} /* drawings down light and right heavy */, + {0x2553, 0xa4} /* drawings down heavy and right light */, + {0x2554, 0xa5} /* drawings heavy down and right */, + {0x2555, 0xa6} /* drawings down light and left heavy */, + {0x2556, 0xa7} /* drawings down heavy and left light */, + {0x2557, 0xa8} /* drawings heavy down and left */, + {0x2558, 0xa9} /* drawings up light and right heavy */, + {0x2559, 0xaa} /* drawings up heavy and right light */, + {0x255a, 0xab} /* drawings heavy up and right */, + {0x255b, 0xac} /* drawings up light and left heavy */, + {0x255c, 0xad} /* drawings up heavy and left light */, + {0x255d, 0xae} /* drawings heavy up and left */, + {0x255e, 0xaf} /* drawings vertical light and right heavy */, + {0x255f, 0xb0} /* drawings vertical heavy and right light */, + {0x2560, 0xb1} /* drawings heavy vertical and right */, + {0x2561, 0xb2} /* drawings vertical light and left heavy */, + {0x2562, 0xb4} /* drawings vertical heavy and left light */, + {0x2563, 0xb5} /* drawings heavy vertical and left */, + {0x2564, 0xb6} /* drawings down light and horizontal heavy */, + {0x2565, 0xb7} /* drawings down heavy and horizontal light */, + {0x2566, 0xb8} /* drawings heavy down and horizontal */, + {0x2567, 0xb9} /* drawings up light and horizontal heavy */, + {0x2568, 0xba} /* drawings up heavy and horizontal light */, + {0x2569, 0xbb} /* drawings heavy up and horizontal */, + {0x256a, 0xbc} /* drawings vertical light and horizontal heavy */, + {0x256b, 0xbd} /* drawings vertical heavy and horizontal light */, + {0x256c, 0xbe} /* drawings heavy vertical and horizontal */, + {0x2580, 0x8b} /* half block */, + {0x2584, 0x8c} /* half block */, + {0x2588, 0x8d} /* block */, + {0x258c, 0x8e} /* half block */, + {0x2590, 0x8f} /* half block */, + {0x2591, 0x90} /* shade */, + {0x2592, 0x91} /* shade */, + {0x2593, 0x92} /* shade */, + {0x25a0, 0x94} /* square */ +}; + +/* +#define cet_ucs4_to_koi8_r_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_koi8_r_extra[cet_ucs4_to_koi8_r_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_koi8_r = /* defined in cet.h */ +{ + cet_cs_name_koi8_r, /* name of character set */ + cet_cs_alias_koi8_r, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_koi8_r, /* char to UCS-4 value table */ + cet_ucs4_ofs_koi8_r, /* first non standard character */ + cet_ucs4_cnt_koi8_r, /* number of values in table */ + + cet_ucs4_to_koi8_r_links, /* UCS-4 to char links */ + cet_ucs4_to_koi8_r_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int koi8_r_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2022, 0x221a, 0x2248, + 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x2553, 0x2554, 0x2555, 0x2556, + 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x255c, 0x255d, 0x255e, + 0x255f, 0x2560, 0x2561, 0x0401, 0x2562, 0x2563, 0x2564, 0x2565, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x256b, 0x256c, 0x00a9, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a +}; +*/ + +#endif diff --git a/gpsbabel/cet/koi8_ru.h b/gpsbabel/cet/koi8_ru.h new file mode 100644 index 000000000..7800847bc --- /dev/null +++ b/gpsbabel/cet/koi8_ru.h @@ -0,0 +1,256 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KOI8-RU" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef koi8_ru_h +#define koi8_ru_h + +#define cet_cs_name_koi8_ru "KOI8-RU" + +const char *cet_cs_alias_koi8_ru[] = +{ + "KOI8-RU", NULL +}; + +#define cet_ucs4_ofs_koi8_ru 128 +#define cet_ucs4_cnt_koi8_ru 128 + +const int cet_ucs4_map_koi8_ru[cet_ucs4_cnt_koi8_ru] = +{ + 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, + 0x2591, 0x2592, 0x2593, 0x201c, 0x25a0, 0x2022, 0x201d, 0x2014, + 0x2116, 0x2122, 0x00a0, 0x00bb, 0x00ae, 0x00ab, 0x00b7, 0x00a4, + 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, + 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x0491, 0x045e, 0x255e, + 0x255f, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x0490, 0x040e, 0x00a9, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a +}; + +#define cet_ucs4_to_koi8_ru_ct 128 + +const cet_ucs4_link_t cet_ucs4_to_koi8_ru_links[cet_ucs4_to_koi8_ru_ct] = +{ + {0x00a0, 0x9a} /* space */, + {0x00a4, 0x9f} /* sign */, + {0x00a9, 0xbf} /* sign */, + {0x00ab, 0x9d} /* double angle quotation mark */, + {0x00ae, 0x9c} /* sign */, + {0x00b7, 0x9e} /* dot */, + {0x00bb, 0x9b} /* double angle quotation mark */, + {0x0401, 0xb3} /* capital letter io */, + {0x0404, 0xb4} /* capital letter ukrainian ie */, + {0x0406, 0xb6} /* capital letter byelorussian-ukrainian i */, + {0x0407, 0xb7} /* capital letter yi (ukrainian) */, + {0x040e, 0xbe} /* capital letter short u (byelorussian) */, + {0x0410, 0xe1} /* capital letter a */, + {0x0411, 0xe2} /* capital letter be */, + {0x0412, 0xf7} /* capital letter ve */, + {0x0413, 0xe7} /* capital letter ghe */, + {0x0414, 0xe4} /* capital letter de */, + {0x0415, 0xe5} /* capital letter ie */, + {0x0416, 0xf6} /* capital letter zhe */, + {0x0417, 0xfa} /* capital letter ze */, + {0x0418, 0xe9} /* capital letter i */, + {0x0419, 0xea} /* capital letter short i */, + {0x041a, 0xeb} /* capital letter ka */, + {0x041b, 0xec} /* capital letter el */, + {0x041c, 0xed} /* capital letter em */, + {0x041d, 0xee} /* capital letter en */, + {0x041e, 0xef} /* capital letter o */, + {0x041f, 0xf0} /* capital letter pe */, + {0x0420, 0xf2} /* capital letter er */, + {0x0421, 0xf3} /* capital letter es */, + {0x0422, 0xf4} /* capital letter te */, + {0x0423, 0xf5} /* capital letter u */, + {0x0424, 0xe6} /* capital letter ef */, + {0x0425, 0xe8} /* capital letter ha */, + {0x0426, 0xe3} /* capital letter tse */, + {0x0427, 0xfe} /* capital letter che */, + {0x0428, 0xfb} /* capital letter sha */, + {0x0429, 0xfd} /* capital letter shcha */, + {0x042a, 0xff} /* capital letter hard sign */, + {0x042b, 0xf9} /* capital letter yeru */, + {0x042c, 0xf8} /* capital letter soft sign */, + {0x042d, 0xfc} /* capital letter e */, + {0x042e, 0xe0} /* capital letter yu */, + {0x042f, 0xf1} /* capital letter ya */, + {0x0430, 0xc1} /* small letter a */, + {0x0431, 0xc2} /* small letter be */, + {0x0432, 0xd7} /* small letter ve */, + {0x0433, 0xc7} /* small letter ghe */, + {0x0434, 0xc4} /* small letter de */, + {0x0435, 0xc5} /* small letter ie */, + {0x0436, 0xd6} /* small letter zhe */, + {0x0437, 0xda} /* small letter ze */, + {0x0438, 0xc9} /* small letter i */, + {0x0439, 0xca} /* small letter short i */, + {0x043a, 0xcb} /* small letter ka */, + {0x043b, 0xcc} /* small letter el */, + {0x043c, 0xcd} /* small letter em */, + {0x043d, 0xce} /* small letter en */, + {0x043e, 0xcf} /* small letter o */, + {0x043f, 0xd0} /* small letter pe */, + {0x0440, 0xd2} /* small letter er */, + {0x0441, 0xd3} /* small letter es */, + {0x0442, 0xd4} /* small letter te */, + {0x0443, 0xd5} /* small letter u */, + {0x0444, 0xc6} /* small letter ef */, + {0x0445, 0xc8} /* small letter ha */, + {0x0446, 0xc3} /* small letter tse */, + {0x0447, 0xde} /* small letter che */, + {0x0448, 0xdb} /* small letter sha */, + {0x0449, 0xdd} /* small letter shcha */, + {0x044a, 0xdf} /* small letter hard sign */, + {0x044b, 0xd9} /* small letter yeru */, + {0x044c, 0xd8} /* small letter soft sign */, + {0x044d, 0xdc} /* small letter e */, + {0x044e, 0xc0} /* small letter yu */, + {0x044f, 0xd1} /* small letter ya */, + {0x0451, 0xa3} /* small letter io */, + {0x0454, 0xa4} /* small letter ukrainian ie */, + {0x0456, 0xa6} /* small letter byelorussian-ukrainian i */, + {0x0457, 0xa7} /* small letter yi (ukrainian) */, + {0x045e, 0xae} /* small letter short u (byelorussian) */, + {0x0490, 0xbd} /* capital letter ghe with upturn */, + {0x0491, 0xad} /* small letter ghe with upturn */, + {0x2014, 0x97} /* dash */, + {0x201c, 0x93} /* double quotation mark */, + {0x201d, 0x96} /* double quotation mark */, + {0x2022, 0x95} /* puce */, + {0x2116, 0x98} /* sign */, + {0x2122, 0x99} /* mark sign */, + {0x2500, 0x80} /* drawings light horizontal */, + {0x2502, 0x81} /* drawings light vertical */, + {0x250c, 0x82} /* drawings light down and right */, + {0x2510, 0x83} /* drawings light down and left */, + {0x2514, 0x84} /* drawings light up and right */, + {0x2518, 0x85} /* drawings light up and left */, + {0x251c, 0x86} /* drawings light vertical and right */, + {0x2524, 0x87} /* drawings light vertical and left */, + {0x252c, 0x88} /* drawings light down and horizontal */, + {0x2534, 0x89} /* drawings light up and horizontal */, + {0x253c, 0x8a} /* drawings light vertical and horizontal */, + {0x2550, 0xa0} /* drawings heavy horizontal */, + {0x2551, 0xa1} /* drawings heavy vertical */, + {0x2552, 0xa2} /* drawings down light and right heavy */, + {0x2554, 0xa5} /* drawings heavy down and right */, + {0x2557, 0xa8} /* drawings heavy down and left */, + {0x2558, 0xa9} /* drawings up light and right heavy */, + {0x2559, 0xaa} /* drawings up heavy and right light */, + {0x255a, 0xab} /* drawings heavy up and right */, + {0x255b, 0xac} /* drawings up light and left heavy */, + {0x255e, 0xaf} /* drawings vertical light and right heavy */, + {0x255f, 0xb0} /* drawings vertical heavy and right light */, + {0x2560, 0xb1} /* drawings heavy vertical and right */, + {0x2561, 0xb2} /* drawings vertical light and left heavy */, + {0x2563, 0xb5} /* drawings heavy vertical and left */, + {0x2566, 0xb8} /* drawings heavy down and horizontal */, + {0x2567, 0xb9} /* drawings up light and horizontal heavy */, + {0x2568, 0xba} /* drawings up heavy and horizontal light */, + {0x2569, 0xbb} /* drawings heavy up and horizontal */, + {0x256a, 0xbc} /* drawings vertical light and horizontal heavy */, + {0x2580, 0x8b} /* half block */, + {0x2584, 0x8c} /* half block */, + {0x2588, 0x8d} /* block */, + {0x258c, 0x8e} /* half block */, + {0x2590, 0x8f} /* half block */, + {0x2591, 0x90} /* shade */, + {0x2592, 0x91} /* shade */, + {0x2593, 0x92} /* shade */, + {0x25a0, 0x94} /* square */ +}; + +/* +#define cet_ucs4_to_koi8_ru_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_koi8_ru_extra[cet_ucs4_to_koi8_ru_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_koi8_ru = /* defined in cet.h */ +{ + cet_cs_name_koi8_ru, /* name of character set */ + cet_cs_alias_koi8_ru, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_koi8_ru, /* char to UCS-4 value table */ + cet_ucs4_ofs_koi8_ru, /* first non standard character */ + cet_ucs4_cnt_koi8_ru, /* number of values in table */ + + cet_ucs4_to_koi8_ru_links, /* UCS-4 to char links */ + cet_ucs4_to_koi8_ru_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int koi8_ru_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, + 0x2591, 0x2592, 0x2593, 0x201c, 0x25a0, 0x2022, 0x201d, 0x2014, + 0x2116, 0x2122, 0x00a0, 0x00bb, 0x00ae, 0x00ab, 0x00b7, 0x00a4, + 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, + 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x0491, 0x045e, 0x255e, + 0x255f, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x0490, 0x040e, 0x00a9, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a +}; +*/ + +#endif diff --git a/gpsbabel/cet/koi8_u.h b/gpsbabel/cet/koi8_u.h new file mode 100644 index 000000000..1f3d88cfc --- /dev/null +++ b/gpsbabel/cet/koi8_u.h @@ -0,0 +1,238 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KOI8-U" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef koi8_u_h +#define koi8_u_h + +#define cet_cs_name_koi8_u "KOI8-U" + +const char *cet_cs_alias_koi8_u[] = +{ + "KOI8-U", NULL +}; + +#define cet_ucs4_ofs_koi8_u 128 +#define cet_ucs4_cnt_koi8_u 112 + +const int cet_ucs4_map_koi8_u[cet_ucs4_cnt_koi8_u] = +{ + 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248, + 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, + 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x0491, 0x255d, 0x255e, + 0x255f, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x0490, 0x256c, 0x00a9, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e +}; + +#define cet_ucs4_to_koi8_u_ct 112 + +const cet_ucs4_link_t cet_ucs4_to_koi8_u_links[cet_ucs4_to_koi8_u_ct] = +{ + {0x00a0, 0x9a} /* space */, + {0x00a9, 0xbf} /* sign */, + {0x00b0, 0x9c} /* sign */, + {0x00b2, 0x9d} /* two */, + {0x00b7, 0x9e} /* dot */, + {0x00f7, 0x9f} /* sign */, + {0x0401, 0xb3} /* capital letter io */, + {0x0404, 0xb4} /* capital letter ukrainian ie */, + {0x0406, 0xb6} /* capital letter byelorussian-ukrainian i */, + {0x0407, 0xb7} /* capital letter yi (ukrainian) */, + {0x0410, 0xe1} /* capital letter a */, + {0x0411, 0xe2} /* capital letter be */, + {0x0413, 0xe7} /* capital letter ghe */, + {0x0414, 0xe4} /* capital letter de */, + {0x0415, 0xe5} /* capital letter ie */, + {0x0418, 0xe9} /* capital letter i */, + {0x0419, 0xea} /* capital letter short i */, + {0x041a, 0xeb} /* capital letter ka */, + {0x041b, 0xec} /* capital letter el */, + {0x041c, 0xed} /* capital letter em */, + {0x041d, 0xee} /* capital letter en */, + {0x041e, 0xef} /* capital letter o */, + {0x0424, 0xe6} /* capital letter ef */, + {0x0425, 0xe8} /* capital letter ha */, + {0x0426, 0xe3} /* capital letter tse */, + {0x042e, 0xe0} /* capital letter yu */, + {0x0430, 0xc1} /* small letter a */, + {0x0431, 0xc2} /* small letter be */, + {0x0432, 0xd7} /* small letter ve */, + {0x0433, 0xc7} /* small letter ghe */, + {0x0434, 0xc4} /* small letter de */, + {0x0435, 0xc5} /* small letter ie */, + {0x0436, 0xd6} /* small letter zhe */, + {0x0437, 0xda} /* small letter ze */, + {0x0438, 0xc9} /* small letter i */, + {0x0439, 0xca} /* small letter short i */, + {0x043a, 0xcb} /* small letter ka */, + {0x043b, 0xcc} /* small letter el */, + {0x043c, 0xcd} /* small letter em */, + {0x043d, 0xce} /* small letter en */, + {0x043e, 0xcf} /* small letter o */, + {0x043f, 0xd0} /* small letter pe */, + {0x0440, 0xd2} /* small letter er */, + {0x0441, 0xd3} /* small letter es */, + {0x0442, 0xd4} /* small letter te */, + {0x0443, 0xd5} /* small letter u */, + {0x0444, 0xc6} /* small letter ef */, + {0x0445, 0xc8} /* small letter ha */, + {0x0446, 0xc3} /* small letter tse */, + {0x0447, 0xde} /* small letter che */, + {0x0448, 0xdb} /* small letter sha */, + {0x0449, 0xdd} /* small letter shcha */, + {0x044a, 0xdf} /* small letter hard sign */, + {0x044b, 0xd9} /* small letter yeru */, + {0x044c, 0xd8} /* small letter soft sign */, + {0x044d, 0xdc} /* small letter e */, + {0x044e, 0xc0} /* small letter yu */, + {0x044f, 0xd1} /* small letter ya */, + {0x0451, 0xa3} /* small letter io */, + {0x0454, 0xa4} /* small letter ukrainian ie */, + {0x0456, 0xa6} /* small letter byelorussian-ukrainian i */, + {0x0457, 0xa7} /* small letter yi (ukrainian) */, + {0x0490, 0xbd} /* capital letter ghe with upturn */, + {0x0491, 0xad} /* small letter ghe with upturn */, + {0x2219, 0x95} /* operator */, + {0x221a, 0x96} /* root */, + {0x2248, 0x97} /* equal to */, + {0x2264, 0x98} /* or equal to */, + {0x2265, 0x99} /* or equal to */, + {0x2320, 0x93} /* half integral */, + {0x2321, 0x9b} /* half integral */, + {0x2500, 0x80} /* drawings light horizontal */, + {0x2502, 0x81} /* drawings light vertical */, + {0x250c, 0x82} /* drawings light down and right */, + {0x2510, 0x83} /* drawings light down and left */, + {0x2514, 0x84} /* drawings light up and right */, + {0x2518, 0x85} /* drawings light up and left */, + {0x251c, 0x86} /* drawings light vertical and right */, + {0x2524, 0x87} /* drawings light vertical and left */, + {0x252c, 0x88} /* drawings light down and horizontal */, + {0x2534, 0x89} /* drawings light up and horizontal */, + {0x253c, 0x8a} /* drawings light vertical and horizontal */, + {0x2550, 0xa0} /* drawings heavy horizontal */, + {0x2551, 0xa1} /* drawings heavy vertical */, + {0x2552, 0xa2} /* drawings down light and right heavy */, + {0x2554, 0xa5} /* drawings heavy down and right */, + {0x2557, 0xa8} /* drawings heavy down and left */, + {0x2558, 0xa9} /* drawings up light and right heavy */, + {0x2559, 0xaa} /* drawings up heavy and right light */, + {0x255a, 0xab} /* drawings heavy up and right */, + {0x255b, 0xac} /* drawings up light and left heavy */, + {0x255d, 0xae} /* drawings heavy up and left */, + {0x255e, 0xaf} /* drawings vertical light and right heavy */, + {0x255f, 0xb0} /* drawings vertical heavy and right light */, + {0x2560, 0xb1} /* drawings heavy vertical and right */, + {0x2561, 0xb2} /* drawings vertical light and left heavy */, + {0x2563, 0xb5} /* drawings heavy vertical and left */, + {0x2566, 0xb8} /* drawings heavy down and horizontal */, + {0x2567, 0xb9} /* drawings up light and horizontal heavy */, + {0x2568, 0xba} /* drawings up heavy and horizontal light */, + {0x2569, 0xbb} /* drawings heavy up and horizontal */, + {0x256a, 0xbc} /* drawings vertical light and horizontal heavy */, + {0x256c, 0xbe} /* drawings heavy vertical and horizontal */, + {0x2580, 0x8b} /* half block */, + {0x2584, 0x8c} /* half block */, + {0x2588, 0x8d} /* block */, + {0x258c, 0x8e} /* half block */, + {0x2590, 0x8f} /* half block */, + {0x2591, 0x90} /* shade */, + {0x2592, 0x91} /* shade */, + {0x2593, 0x92} /* shade */, + {0x25a0, 0x94} /* square */ +}; + +/* +#define cet_ucs4_to_koi8_u_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_koi8_u_extra[cet_ucs4_to_koi8_u_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_koi8_u = /* defined in cet.h */ +{ + cet_cs_name_koi8_u, /* name of character set */ + cet_cs_alias_koi8_u, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_koi8_u, /* char to UCS-4 value table */ + cet_ucs4_ofs_koi8_u, /* first non standard character */ + cet_ucs4_cnt_koi8_u, /* number of values in table */ + + cet_ucs4_to_koi8_u_links, /* UCS-4 to char links */ + cet_ucs4_to_koi8_u_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int koi8_u_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x2500, 0x2502, 0x250c, 0x2510, 0x2514, 0x2518, 0x251c, 0x2524, + 0x252c, 0x2534, 0x253c, 0x2580, 0x2584, 0x2588, 0x258c, 0x2590, + 0x2591, 0x2592, 0x2593, 0x2320, 0x25a0, 0x2219, 0x221a, 0x2248, + 0x2264, 0x2265, 0x00a0, 0x2321, 0x00b0, 0x00b2, 0x00b7, 0x00f7, + 0x2550, 0x2551, 0x2552, 0x0451, 0x0454, 0x2554, 0x0456, 0x0457, + 0x2557, 0x2558, 0x2559, 0x255a, 0x255b, 0x0491, 0x255d, 0x255e, + 0x255f, 0x2560, 0x2561, 0x0401, 0x0404, 0x2563, 0x0406, 0x0407, + 0x2566, 0x2567, 0x2568, 0x2569, 0x256a, 0x0490, 0x256c, 0x00a9, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/koi_7.h b/gpsbabel/cet/koi_7.h new file mode 100644 index 000000000..7e94ce3cb --- /dev/null +++ b/gpsbabel/cet/koi_7.h @@ -0,0 +1,156 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KOI-7" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef koi_7_h +#define koi_7_h + +#define cet_cs_name_koi_7 "KOI-7" + +const char *cet_cs_alias_koi_7[] = +{ + "KOI-7", NULL +}; + +#define cet_ucs4_ofs_koi_7 36 +#define cet_ucs4_cnt_koi_7 92 + +const int cet_ucs4_map_koi_7[cet_ucs4_cnt_koi_7] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, + 0x005c, 0x005d, 0x005e, 0x005f, 0x042e, 0x0410, 0x0411, 0x0426, + 0x0414, 0x0415, 0x0424, 0x0413, 0x0425, 0x0418, 0x0419, 0x041a, + 0x041b, 0x041c, 0x041d, 0x041e, 0x041f, 0x042f, 0x0420, 0x0421, + 0x0422, 0x0423, 0x0416, 0x0412, 0x042c, 0x042b, 0x0417, 0x0428, + 0x042d, 0x0429, 0x0427, 0x007f +}; + +#define cet_ucs4_to_koi_7_ct 32 + +const cet_ucs4_link_t cet_ucs4_to_koi_7_links[cet_ucs4_to_koi_7_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x0410, 0x61} /* capital letter a */, + {0x0411, 0x62} /* capital letter be */, + {0x0412, 0x77} /* capital letter ve */, + {0x0413, 0x67} /* capital letter ghe */, + {0x0414, 0x64} /* capital letter de */, + {0x0415, 0x65} /* capital letter ie */, + {0x0416, 0x76} /* capital letter zhe */, + {0x0417, 0x7a} /* capital letter ze */, + {0x0418, 0x69} /* capital letter i */, + {0x0419, 0x6a} /* capital letter short i */, + {0x041a, 0x6b} /* capital letter ka */, + {0x041b, 0x6c} /* capital letter el */, + {0x041c, 0x6d} /* capital letter em */, + {0x041d, 0x6e} /* capital letter en */, + {0x041e, 0x6f} /* capital letter o */, + {0x041f, 0x70} /* capital letter pe */, + {0x0420, 0x72} /* capital letter er */, + {0x0421, 0x73} /* capital letter es */, + {0x0422, 0x74} /* capital letter te */, + {0x0423, 0x75} /* capital letter u */, + {0x0424, 0x66} /* capital letter ef */, + {0x0425, 0x68} /* capital letter ha */, + {0x0426, 0x63} /* capital letter tse */, + {0x0427, 0x7e} /* capital letter che */, + {0x0428, 0x7b} /* capital letter sha */, + {0x0429, 0x7d} /* capital letter shcha */, + {0x042b, 0x79} /* capital letter yeru */, + {0x042c, 0x78} /* capital letter soft sign */, + {0x042d, 0x7c} /* capital letter e */, + {0x042e, 0x60} /* capital letter yu */, + {0x042f, 0x71} /* capital letter ya */ +}; + +/* +#define cet_ucs4_to_koi_7_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_koi_7_extra[cet_ucs4_to_koi_7_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_koi_7 = /* defined in cet.h */ +{ + cet_cs_name_koi_7, /* name of character set */ + cet_cs_alias_koi_7, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_koi_7, /* char to UCS-4 value table */ + cet_ucs4_ofs_koi_7, /* first non standard character */ + cet_ucs4_cnt_koi_7, /* number of values in table */ + + cet_ucs4_to_koi_7_links, /* UCS-4 to char links */ + cet_ucs4_to_koi_7_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int koi_7_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/koi_8.h b/gpsbabel/cet/koi_8.h new file mode 100644 index 000000000..8b4795be9 --- /dev/null +++ b/gpsbabel/cet/koi_8.h @@ -0,0 +1,191 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KOI-8" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef koi_8_h +#define koi_8_h + +#define cet_cs_name_koi_8 "KOI-8" + +const char *cet_cs_alias_koi_8[] = +{ + "KOI-8", "GOST_19768-74", NULL +}; + +#define cet_ucs4_ofs_koi_8 128 +#define cet_ucs4_cnt_koi_8 127 + +const int cet_ucs4_map_koi_8[cet_ucs4_cnt_koi_8] = +{ + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427 +}; + +#define cet_ucs4_to_koi_8_ct 63 + +const cet_ucs4_link_t cet_ucs4_to_koi_8_links[cet_ucs4_to_koi_8_ct] = +{ + {0x0410, 0xe1} /* capital letter a */, + {0x0411, 0xe2} /* capital letter be */, + {0x0412, 0xf7} /* capital letter ve */, + {0x0413, 0xe7} /* capital letter ghe */, + {0x0414, 0xe4} /* capital letter de */, + {0x0415, 0xe5} /* capital letter ie */, + {0x0416, 0xf6} /* capital letter zhe */, + {0x0417, 0xfa} /* capital letter ze */, + {0x0418, 0xe9} /* capital letter i */, + {0x0419, 0xea} /* capital letter short i */, + {0x041a, 0xeb} /* capital letter ka */, + {0x041b, 0xec} /* capital letter el */, + {0x041c, 0xed} /* capital letter em */, + {0x041d, 0xee} /* capital letter en */, + {0x041e, 0xef} /* capital letter o */, + {0x041f, 0xf0} /* capital letter pe */, + {0x0420, 0xf2} /* capital letter er */, + {0x0421, 0xf3} /* capital letter es */, + {0x0422, 0xf4} /* capital letter te */, + {0x0423, 0xf5} /* capital letter u */, + {0x0424, 0xe6} /* capital letter ef */, + {0x0425, 0xe8} /* capital letter ha */, + {0x0426, 0xe3} /* capital letter tse */, + {0x0427, 0xfe} /* capital letter che */, + {0x0428, 0xfb} /* capital letter sha */, + {0x0429, 0xfd} /* capital letter shcha */, + {0x042b, 0xf9} /* capital letter yeru */, + {0x042c, 0xf8} /* capital letter soft sign */, + {0x042d, 0xfc} /* capital letter e */, + {0x042e, 0xe0} /* capital letter yu */, + {0x042f, 0xf1} /* capital letter ya */, + {0x0430, 0xc1} /* small letter a */, + {0x0431, 0xc2} /* small letter be */, + {0x0432, 0xd7} /* small letter ve */, + {0x0433, 0xc7} /* small letter ghe */, + {0x0434, 0xc4} /* small letter de */, + {0x0435, 0xc5} /* small letter ie */, + {0x0436, 0xd6} /* small letter zhe */, + {0x0437, 0xda} /* small letter ze */, + {0x0438, 0xc9} /* small letter i */, + {0x0439, 0xca} /* small letter short i */, + {0x043a, 0xcb} /* small letter ka */, + {0x043b, 0xcc} /* small letter el */, + {0x043c, 0xcd} /* small letter em */, + {0x043d, 0xce} /* small letter en */, + {0x043e, 0xcf} /* small letter o */, + {0x043f, 0xd0} /* small letter pe */, + {0x0440, 0xd2} /* small letter er */, + {0x0441, 0xd3} /* small letter es */, + {0x0442, 0xd4} /* small letter te */, + {0x0443, 0xd5} /* small letter u */, + {0x0444, 0xc6} /* small letter ef */, + {0x0445, 0xc8} /* small letter ha */, + {0x0446, 0xc3} /* small letter tse */, + {0x0447, 0xde} /* small letter che */, + {0x0448, 0xdb} /* small letter sha */, + {0x0449, 0xdd} /* small letter shcha */, + {0x044a, 0xdf} /* small letter hard sign */, + {0x044b, 0xd9} /* small letter yeru */, + {0x044c, 0xd8} /* small letter soft sign */, + {0x044d, 0xdc} /* small letter e */, + {0x044e, 0xc0} /* small letter yu */, + {0x044f, 0xd1} /* small letter ya */ +}; + +/* +#define cet_ucs4_to_koi_8_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_koi_8_extra[cet_ucs4_to_koi_8_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_koi_8 = /* defined in cet.h */ +{ + cet_cs_name_koi_8, /* name of character set */ + cet_cs_alias_koi_8, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_koi_8, /* char to UCS-4 value table */ + cet_ucs4_ofs_koi_8, /* first non standard character */ + cet_ucs4_cnt_koi_8, /* number of values in table */ + + cet_ucs4_to_koi_8_links, /* UCS-4 to char links */ + cet_ucs4_to_koi_8_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int koi_8_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x044e, 0x0430, 0x0431, 0x0446, 0x0434, 0x0435, 0x0444, 0x0433, + 0x0445, 0x0438, 0x0439, 0x043a, 0x043b, 0x043c, 0x043d, 0x043e, + 0x043f, 0x044f, 0x0440, 0x0441, 0x0442, 0x0443, 0x0436, 0x0432, + 0x044c, 0x044b, 0x0437, 0x0448, 0x044d, 0x0449, 0x0447, 0x044a, + 0x042e, 0x0410, 0x0411, 0x0426, 0x0414, 0x0415, 0x0424, 0x0413, + 0x0425, 0x0418, 0x0419, 0x041a, 0x041b, 0x041c, 0x041d, 0x041e, + 0x041f, 0x042f, 0x0420, 0x0421, 0x0422, 0x0423, 0x0416, 0x0412, + 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/koi_8_cs2.h b/gpsbabel/cet/koi_8_cs2.h new file mode 100644 index 000000000..3398b91e6 --- /dev/null +++ b/gpsbabel/cet/koi_8_cs2.h @@ -0,0 +1,222 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KOI-8_CS2" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef koi_8_cs2_h +#define koi_8_cs2_h + +#define cet_cs_name_koi_8_cs2 "KOI-8_CS2" + +const char *cet_cs_alias_koi_8_cs2[] = +{ + "KOI-8_CS2", NULL +}; + +#define cet_ucs4_ofs_koi_8_cs2 36 +#define cet_ucs4_cnt_koi_8_cs2 219 + +const int cet_ucs4_map_koi_8_cs2[cet_ucs4_cnt_koi_8_cs2] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x005b, + 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x007e, 0x007f, 0x0080, 0x0081, 0x0082, 0x0083, + 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008a, 0x008b, + 0x008c, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093, + 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009a, 0x009b, + 0x009c, 0x009d, 0x009e, 0x009f, 0x00a0, -1, 0x00b4, -1, + 0x007e, -1, 0x02d8, 0x02d9, 0x00a8, -1, 0x02da, 0x00b8, + -1, 0x02dd, 0x02db, 0x02c7, 0x00a9, 0x2122, 0x250c, 0x2510, + 0x2514, 0x2518, 0x2500, 0x2193, 0x03a9, 0x00a7, 0x03b1, 0x03b3, + 0x03b5, 0x03bc, 0x03c0, 0x03c9, 0x00e0, 0x00e1, 0x01ce, 0x010d, + 0x010f, 0x011b, 0x0155, -1, 0x00fc, 0x00ed, 0x016f, 0x013a, + 0x013e, 0x00f6, 0x0148, 0x00f3, 0x00f4, 0x00e4, 0x0159, 0x0161, + 0x0165, 0x00fa, 0x00eb, 0x00e9, 0x0171, 0x00fd, 0x017e, -1, + -1, 0x0151, 0x0117, 0x00df, 0x00c0, 0x00c1, 0x01cd, 0x010c, + 0x010e, 0x011a, 0x0154, -1, 0x00dc, 0x00cd, 0x016e, 0x0139, + 0x013d, 0x00d6, 0x0147, 0x00d3, 0x00d4, 0x00c4, 0x0158, 0x0160, + 0x0164, 0x00da, 0x00cb, 0x00c9, 0x0170, 0x00dd, 0x017d, -1, + -1, 0x0150, 0x0116 +}; + +#define cet_ucs4_to_koi_8_cs2_ct 82 + +const cet_ucs4_link_t cet_ucs4_to_koi_8_cs2_links[cet_ucs4_to_koi_8_cs2_ct] = +{ + {0x007e, 0xa4} /* tilde */, + {0x00a4, 0x24} /* sign */, + {0x00a7, 0xb9} /* sign */, + {0x00a9, 0xb0} /* sign */, + {0x00b4, 0xa2} /* accent */, + {0x00b8, 0xab} /* cedilla */, + {0x00c0, 0xe0} /* capital letter a with grave */, + {0x00c1, 0xe1} /* capital letter a with acute */, + {0x00c4, 0xf1} /* capital letter a with diaeresis */, + {0x00c9, 0xf7} /* capital letter e with acute */, + {0x00cb, 0xf6} /* capital letter e with diaeresis */, + {0x00cd, 0xe9} /* capital letter i with acute */, + {0x00d3, 0xef} /* capital letter o with acute */, + {0x00d4, 0xf0} /* capital letter o with circumflex */, + {0x00d6, 0xed} /* capital letter o with diaeresis */, + {0x00da, 0xf5} /* capital letter u with acute */, + {0x00dc, 0xe8} /* capital letter u with diaeresis */, + {0x00dd, 0xf9} /* capital letter y with acute */, + {0x00e0, 0xc0} /* small letter a with grave */, + {0x00e1, 0xc1} /* small letter a with acute */, + {0x00e4, 0xd1} /* small letter a with diaeresis */, + {0x00e9, 0xd7} /* small letter e with acute */, + {0x00eb, 0xd6} /* small letter e with diaeresis */, + {0x00ed, 0xc9} /* small letter i with acute */, + {0x00f3, 0xcf} /* small letter o with acute */, + {0x00f4, 0xd0} /* small letter o with circumflex */, + {0x00f6, 0xcd} /* small letter o with diaeresis */, + {0x00fa, 0xd5} /* small letter u with acute */, + {0x00fc, 0xc8} /* small letter u with diaeresis */, + {0x00fd, 0xd9} /* small letter y with acute */, + {0x010c, 0xe3} /* capital letter c with caron */, + {0x010d, 0xc3} /* small letter c with caron */, + {0x010e, 0xe4} /* capital letter d with caron */, + {0x010f, 0xc4} /* small letter d with caron */, + {0x0116, 0xfe} /* capital letter e with dot above */, + {0x0117, 0xde} /* small letter e with dot above */, + {0x011a, 0xe5} /* capital letter e with caron */, + {0x011b, 0xc5} /* small letter e with caron */, + {0x0139, 0xeb} /* capital letter l with acute */, + {0x013a, 0xcb} /* small letter l with acute */, + {0x013d, 0xec} /* capital letter l with caron */, + {0x013e, 0xcc} /* small letter l with caron */, + {0x0147, 0xee} /* capital letter n with caron */, + {0x0148, 0xce} /* small letter n with caron */, + {0x0150, 0xfd} /* capital letter o with double acute */, + {0x0151, 0xdd} /* small letter o with double acute */, + {0x0154, 0xe6} /* capital letter r with acute */, + {0x0155, 0xc6} /* small letter r with acute */, + {0x0158, 0xf2} /* capital letter r with caron */, + {0x0159, 0xd2} /* small letter r with caron */, + {0x0160, 0xf3} /* capital letter s with caron */, + {0x0161, 0xd3} /* small letter s with caron */, + {0x0164, 0xf4} /* capital letter t with caron */, + {0x0165, 0xd4} /* small letter t with caron */, + {0x016e, 0xea} /* capital letter u with ring above */, + {0x016f, 0xca} /* small letter u with ring above */, + {0x0170, 0xf8} /* capital letter u with double acute */, + {0x0171, 0xd8} /* small letter u with double acute */, + {0x017d, 0xfa} /* capital letter z with caron */, + {0x017e, 0xda} /* small letter z with caron */, + {0x01cd, 0xe2} /* capital letter a with caron */, + {0x01ce, 0xc2} /* small letter a with caron */, + {0x02c7, 0xaf} /* caron */, + {0x02d8, 0xa6} /* breve */, + {0x02d9, 0xa7} /* above */, + {0x02da, 0xaa} /* above */, + {0x02db, 0xae} /* ogonek */, + {0x02dd, 0xad} /* acute accent */, + {0x03a9, 0xb8} /* capital letter omega */, + {0x03b1, 0xba} /* small letter alpha */, + {0x03b3, 0xbb} /* small letter gamma */, + {0x03b5, 0xbc} /* small letter epsilon */, + {0x03bc, 0xbd} /* small letter mu */, + {0x03c0, 0xbe} /* small letter pi */, + {0x03c9, 0xbf} /* small letter omega */, + {0x2122, 0xb1} /* mark sign */, + {0x2193, 0xb7} /* arrow */, + {0x2500, 0xb6} /* drawings light horizontal */, + {0x250c, 0xb2} /* drawings light down and right */, + {0x2510, 0xb3} /* drawings light down and left */, + {0x2514, 0xb4} /* drawings light up and right */, + {0x2518, 0xb5} /* drawings light up and left */ +}; + +/* +#define cet_ucs4_to_koi_8_cs2_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_koi_8_cs2_extra[cet_ucs4_to_koi_8_cs2_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_koi_8_cs2 = /* defined in cet.h */ +{ + cet_cs_name_koi_8_cs2, /* name of character set */ + cet_cs_alias_koi_8_cs2, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_koi_8_cs2, /* char to UCS-4 value table */ + cet_ucs4_ofs_koi_8_cs2, /* first non standard character */ + cet_ucs4_cnt_koi_8_cs2, /* number of values in table */ + + cet_ucs4_to_koi_8_cs2_links, /* UCS-4 to char links */ + cet_ucs4_to_koi_8_cs2_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int koi_8_cs2_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00a0, -1, 0x00b4, -1, 0x007e, -1, 0x02d8, 0x02d9, + 0x00a8, -1, 0x02da, 0x00b8, -1, 0x02dd, 0x02db, 0x02c7, + 0x00a9, 0x2122, 0x250c, 0x2510, 0x2514, 0x2518, 0x2500, 0x2193, + 0x03a9, 0x00a7, 0x03b1, 0x03b3, 0x03b5, 0x03bc, 0x03c0, 0x03c9, + 0x00e0, 0x00e1, 0x01ce, 0x010d, 0x010f, 0x011b, 0x0155, -1, + 0x00fc, 0x00ed, 0x016f, 0x013a, 0x013e, 0x00f6, 0x0148, 0x00f3, + 0x00f4, 0x00e4, 0x0159, 0x0161, 0x0165, 0x00fa, 0x00eb, 0x00e9, + 0x0171, 0x00fd, 0x017e, -1, -1, 0x0151, 0x0117, 0x00df, + 0x00c0, 0x00c1, 0x01cd, 0x010c, 0x010e, 0x011a, 0x0154, -1, + 0x00dc, 0x00cd, 0x016e, 0x0139, 0x013d, 0x00d6, 0x0147, 0x00d3, + 0x00d4, 0x00c4, 0x0158, 0x0160, 0x0164, 0x00da, 0x00cb, 0x00c9, + 0x0170, 0x00dd, 0x017d, -1, -1, 0x0150, 0x0116, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ksc5636.h b/gpsbabel/cet/ksc5636.h new file mode 100644 index 000000000..ff513c529 --- /dev/null +++ b/gpsbabel/cet/ksc5636.h @@ -0,0 +1,118 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "KSC5636" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ksc5636_h +#define ksc5636_h + +#define cet_cs_name_ksc5636 "KSC5636" + +const char *cet_cs_alias_ksc5636[] = +{ + "KSC5636", "ISO646-KR", NULL +}; + +#define cet_ucs4_ofs_ksc5636 92 +#define cet_ucs4_cnt_ksc5636 36 + +const int cet_ucs4_map_ksc5636[cet_ucs4_cnt_ksc5636] = +{ + 0x20a9, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x007b, + 0x007c, 0x007d, 0x007e, 0x007f +}; + +#define cet_ucs4_to_ksc5636_ct 1 + +const cet_ucs4_link_t cet_ucs4_to_ksc5636_links[cet_ucs4_to_ksc5636_ct] = +{ + {0x20a9, 0x5c} /* sign */ +}; + +/* +#define cet_ucs4_to_ksc5636_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ksc5636_extra[cet_ucs4_to_ksc5636_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ksc5636 = /* defined in cet.h */ +{ + cet_cs_name_ksc5636, /* name of character set */ + cet_cs_alias_ksc5636, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ksc5636, /* char to UCS-4 value table */ + cet_ucs4_ofs_ksc5636, /* first non standard character */ + cet_ucs4_cnt_ksc5636, /* number of values in table */ + + cet_ucs4_to_ksc5636_links, /* UCS-4 to char links */ + cet_ucs4_to_ksc5636_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ksc5636_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x20a9, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/latin_greek_1.h b/gpsbabel/cet/latin_greek_1.h new file mode 100644 index 000000000..ffb016353 --- /dev/null +++ b/gpsbabel/cet/latin_greek_1.h @@ -0,0 +1,136 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "Latin-greek-1" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef latin_greek_1_h +#define latin_greek_1_h + +#define cet_cs_name_latin_greek_1 "Latin-greek-1" + +const char *cet_cs_alias_latin_greek_1[] = +{ + "Latin-greek-1", "iso-ir-27", NULL +}; + +#define cet_ucs4_ofs_latin_greek_1 33 +#define cet_ucs4_cnt_latin_greek_1 95 + +const int cet_ucs4_map_latin_greek_1[cet_ucs4_cnt_latin_greek_1] = +{ + 0x039e, 0x0022, 0x0393, 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, + 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, + 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, + 0x0039, 0x03a8, 0x003b, 0x003c, 0x003d, 0x003e, 0x03a0, 0x0394, + 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, + 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x03a9, 0x0398, 0x03a6, 0x039b, 0x03a3, 0x0060, + 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, + 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x007f +}; + +#define cet_ucs4_to_latin_greek_1_ct 12 + +const cet_ucs4_link_t cet_ucs4_to_latin_greek_1_links[cet_ucs4_to_latin_greek_1_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x0393, 0x23} /* capital letter gamma */, + {0x0394, 0x40} /* capital letter delta */, + {0x0398, 0x5c} /* capital letter theta */, + {0x039b, 0x5e} /* capital letter lamda */, + {0x039e, 0x21} /* capital letter xi */, + {0x03a0, 0x3f} /* capital letter pi */, + {0x03a3, 0x5f} /* capital letter sigma */, + {0x03a6, 0x5d} /* capital letter phi */, + {0x03a8, 0x3a} /* capital letter psi */, + {0x03a9, 0x5b} /* capital letter omega */, + {0x203e, 0x7e} /* overline */ +}; + +/* +#define cet_ucs4_to_latin_greek_1_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_latin_greek_1_extra[cet_ucs4_to_latin_greek_1_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_latin_greek_1 = /* defined in cet.h */ +{ + cet_cs_name_latin_greek_1, /* name of character set */ + cet_cs_alias_latin_greek_1, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_latin_greek_1, /* char to UCS-4 value table */ + cet_ucs4_ofs_latin_greek_1, /* first non standard character */ + cet_ucs4_cnt_latin_greek_1, /* number of values in table */ + + cet_ucs4_to_latin_greek_1_links, /* UCS-4 to char links */ + cet_ucs4_to_latin_greek_1_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int latin_greek_1_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x039e, 0x0022, 0x0393, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x03a8, 0x003b, 0x003c, 0x003d, 0x003e, 0x03a0, + 0x0394, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x03a9, 0x0398, 0x03a6, 0x039b, 0x03a3, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x203e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/mac_is.h b/gpsbabel/cet/mac_is.h new file mode 100644 index 000000000..6c0050324 --- /dev/null +++ b/gpsbabel/cet/mac_is.h @@ -0,0 +1,248 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "mac-is" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef mac_is_h +#define mac_is_h + +#define cet_cs_name_mac_is "mac-is" + +const char *cet_cs_alias_mac_is[] = +{ + "mac-is", NULL +}; + +#define cet_ucs4_ofs_mac_is 128 +#define cet_ucs4_cnt_mac_is 128 + +const int cet_ucs4_map_mac_is[cet_ucs4_cnt_mac_is] = +{ + 0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1, + 0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8, + 0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3, + 0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc, + 0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df, + 0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8, + 0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211, + 0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8, + 0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x0394, 0x00ab, + 0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153, + 0x2014, 0x2013, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25c6, + 0x00ff, 0x0178, 0x2044, 0x00a4, 0x0110, 0x0111, 0x00de, 0x00fe, + 0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1, + 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4, + 0xe01e, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, -1, -1, + 0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7 +}; + +#define cet_ucs4_to_mac_is_ct 120 + +const cet_ucs4_link_t cet_ucs4_to_mac_is_links[cet_ucs4_to_mac_is_ct] = +{ + {0x00a0, 0xca} /* space */, + {0x00a1, 0xc1} /* exclamation mark */, + {0x00a4, 0xdb} /* sign */, + {0x00a5, 0xb4} /* sign */, + {0x00a7, 0xa4} /* sign */, + {0x00a8, 0xac} /* diaeresis */, + {0x00aa, 0xbb} /* ordinal indicator */, + {0x00ab, 0xc7} /* double angle quotation mark */, + {0x00ac, 0xc2} /* sign */, + {0x00ae, 0xa8} /* sign */, + {0x00af, 0xf8} /* macron */, + {0x00b0, 0xa1} /* sign */, + {0x00b4, 0xab} /* accent */, + {0x00b6, 0xa6} /* sign */, + {0x00b7, 0xe1} /* dot */, + {0x00b8, 0xfc} /* cedilla */, + {0x00ba, 0xbc} /* ordinal indicator */, + {0x00bb, 0xc8} /* double angle quotation mark */, + {0x00bf, 0xc0} /* question mark */, + {0x00c0, 0xcb} /* capital letter a with grave */, + {0x00c1, 0xe7} /* capital letter a with acute */, + {0x00c2, 0xe5} /* capital letter a with circumflex */, + {0x00c3, 0xcc} /* capital letter a with tilde */, + {0x00c4, 0x80} /* capital letter a with diaeresis */, + {0x00c5, 0x81} /* capital letter a with ring above */, + {0x00c6, 0xae} /* capital letter ae */, + {0x00c7, 0x82} /* capital letter c with cedilla */, + {0x00c8, 0xe9} /* capital letter e with grave */, + {0x00c9, 0x83} /* capital letter e with acute */, + {0x00ca, 0xe6} /* capital letter e with circumflex */, + {0x00cb, 0xe8} /* capital letter e with diaeresis */, + {0x00cc, 0xed} /* capital letter i with grave */, + {0x00cd, 0xea} /* capital letter i with acute */, + {0x00ce, 0xeb} /* capital letter i with circumflex */, + {0x00cf, 0xec} /* capital letter i with diaeresis */, + {0x00d1, 0x84} /* capital letter n with tilde */, + {0x00d2, 0xf1} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xef} /* capital letter o with circumflex */, + {0x00d5, 0xcd} /* capital letter o with tilde */, + {0x00d6, 0x85} /* capital letter o with diaeresis */, + {0x00d8, 0xaf} /* capital letter o with stroke */, + {0x00d9, 0xf4} /* capital letter u with grave */, + {0x00da, 0xf2} /* capital letter u with acute */, + {0x00db, 0xf3} /* capital letter u with circumflex */, + {0x00dc, 0x86} /* capital letter u with diaeresis */, + {0x00df, 0xa7} /* small letter sharp s (german) */, + {0x00e0, 0x88} /* small letter a with grave */, + {0x00e1, 0x87} /* small letter a with acute */, + {0x00e2, 0x89} /* small letter a with circumflex */, + {0x00e3, 0x8b} /* small letter a with tilde */, + {0x00e4, 0x8a} /* small letter a with diaeresis */, + {0x00e5, 0x8c} /* small letter a with ring above */, + {0x00e6, 0xbe} /* small letter ae */, + {0x00e7, 0x8d} /* small letter c with cedilla */, + {0x00e8, 0x8f} /* small letter e with grave */, + {0x00e9, 0x8e} /* small letter e with acute */, + {0x00ea, 0x90} /* small letter e with circumflex */, + {0x00eb, 0x91} /* small letter e with diaeresis */, + {0x00ec, 0x93} /* small letter i with grave */, + {0x00ed, 0x92} /* small letter i with acute */, + {0x00ee, 0x94} /* small letter i with circumflex */, + {0x00ef, 0x95} /* small letter i with diaeresis */, + {0x00f1, 0x96} /* small letter n with tilde */, + {0x00f2, 0x98} /* small letter o with grave */, + {0x00f3, 0x97} /* small letter o with acute */, + {0x00f4, 0x99} /* small letter o with circumflex */, + {0x00f5, 0x9b} /* small letter o with tilde */, + {0x00f6, 0x9a} /* small letter o with diaeresis */, + {0x00f7, 0xd6} /* sign */, + {0x00f8, 0xbf} /* small letter o with stroke */, + {0x00f9, 0x9d} /* small letter u with grave */, + {0x00fa, 0x9c} /* small letter u with acute */, + {0x00fb, 0x9e} /* small letter u with circumflex */, + {0x00fc, 0x9f} /* small letter u with diaeresis */, + {0x00fe, 0xdf} /* small letter thorn (icelandic) */, + {0x00ff, 0xd8} /* small letter y with diaeresis */, + {0x0110, 0xdc} /* capital letter d with stroke */, + {0x0111, 0xdd} /* small letter d with stroke */, + {0x0131, 0xf5} /* small letter i dotless */, + {0x0152, 0xce} /* capital ligature oe */, + {0x0153, 0xcf} /* small ligature oe */, + {0x0178, 0xd9} /* capital letter y with diaeresis */, + {0x0192, 0xc4} /* minuscule latine f hameçon */, + {0x02c7, 0xff} /* caron */, + {0x02d8, 0xf9} /* breve */, + {0x02d9, 0xfa} /* above */, + {0x02da, 0xfb} /* above */, + {0x02db, 0xfe} /* ogonek */, + {0x02dd, 0xfd} /* acute accent */, + {0x0394, 0xc6} /* capital letter delta */, + {0x03a9, 0xbd} /* capital letter omega */, + {0x03c0, 0xb9} /* small letter pi */, + {0x2013, 0xd1} /* dash */, + {0x2014, 0xd0} /* dash */, + {0x2018, 0xd4} /* single quotation mark */, + {0x2019, 0xd5} /* single quotation mark */, + {0x201a, 0xe2} /* low-9 quotation mark */, + {0x201c, 0xd2} /* double quotation mark */, + {0x201d, 0xd3} /* double quotation mark */, + {0x201e, 0xe3} /* low-9 quotation mark */, + {0x2020, 0xa0} /* dagger */, + {0x2021, 0xe0} /* dagger */, + {0x2022, 0xa5} /* puce */, + {0x2026, 0xc9} /* horizontal ellipsis */, + {0x2030, 0xe4} /* mille sign */, + {0x2044, 0xda} /* slash */, + {0x2122, 0xaa} /* mark sign */, + {0x2202, 0xb6} /* differential */, + {0x220f, 0xb8} /* product */, + {0x2211, 0xb7} /* summation */, + {0x221a, 0xc3} /* root */, + {0x221e, 0xb0} /* infinity */, + {0x222b, 0xba} /* integral */, + {0x2248, 0xc5} /* equal to */, + {0x2260, 0xad} /* equal to */, + {0x2264, 0xb2} /* or equal to */, + {0x2265, 0xb3} /* or equal to */, + {0x25c6, 0xd7} /* diamond */, + {0xe01e, 0xf0} /* */ +}; + +/* +#define cet_ucs4_to_mac_is_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_mac_is_extra[cet_ucs4_to_mac_is_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_mac_is = /* defined in cet.h */ +{ + cet_cs_name_mac_is, /* name of character set */ + cet_cs_alias_mac_is, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_mac_is, /* char to UCS-4 value table */ + cet_ucs4_ofs_mac_is, /* first non standard character */ + cet_ucs4_cnt_mac_is, /* number of values in table */ + + cet_ucs4_to_mac_is_links, /* UCS-4 to char links */ + cet_ucs4_to_mac_is_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int mac_is_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1, + 0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8, + 0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3, + 0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc, + 0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df, + 0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8, + 0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211, + 0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8, + 0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x0394, 0x00ab, + 0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x00d5, 0x0152, 0x0153, + 0x2014, 0x2013, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25c6, + 0x00ff, 0x0178, 0x2044, 0x00a4, 0x0110, 0x0111, 0x00de, 0x00fe, + 0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1, + 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4, + 0xe01e, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, -1, -1, + 0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7 +}; +*/ + +#endif diff --git a/gpsbabel/cet/macintosh.h b/gpsbabel/cet/macintosh.h new file mode 100644 index 000000000..f0cafc5a2 --- /dev/null +++ b/gpsbabel/cet/macintosh.h @@ -0,0 +1,250 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "macintosh" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef macintosh_h +#define macintosh_h + +#define cet_cs_name_macintosh "macintosh" + +const char *cet_cs_alias_macintosh[] = +{ + "macintosh/CR", "csMacintosh", "mac/CR", "MacRoman", + NULL +}; + +#define cet_ucs4_ofs_macintosh 128 +#define cet_ucs4_cnt_macintosh 128 + +const int cet_ucs4_map_macintosh[cet_ucs4_cnt_macintosh] = +{ + 0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1, + 0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8, + 0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3, + 0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc, + 0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df, + 0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8, + 0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211, + 0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8, + 0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x0394, 0x00ab, + 0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x2126, 0x0152, 0x0153, + 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca, + 0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0xfb01, 0xfb02, + 0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1, + 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4, + 0xe01e, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, -1, -1, + 0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7 +}; + +#define cet_ucs4_to_macintosh_ct 121 + +const cet_ucs4_link_t cet_ucs4_to_macintosh_links[cet_ucs4_to_macintosh_ct] = +{ + {0x00a0, 0xca} /* space */, + {0x00a1, 0xc1} /* exclamation mark */, + {0x00a4, 0xdb} /* sign */, + {0x00a5, 0xb4} /* sign */, + {0x00a7, 0xa4} /* sign */, + {0x00a8, 0xac} /* diaeresis */, + {0x00aa, 0xbb} /* ordinal indicator */, + {0x00ab, 0xc7} /* double angle quotation mark */, + {0x00ac, 0xc2} /* sign */, + {0x00ae, 0xa8} /* sign */, + {0x00af, 0xf8} /* macron */, + {0x00b0, 0xa1} /* sign */, + {0x00b4, 0xab} /* accent */, + {0x00b6, 0xa6} /* sign */, + {0x00b7, 0xe1} /* dot */, + {0x00b8, 0xfc} /* cedilla */, + {0x00ba, 0xbc} /* ordinal indicator */, + {0x00bb, 0xc8} /* double angle quotation mark */, + {0x00bf, 0xc0} /* question mark */, + {0x00c0, 0xcb} /* capital letter a with grave */, + {0x00c1, 0xe7} /* capital letter a with acute */, + {0x00c2, 0xe5} /* capital letter a with circumflex */, + {0x00c3, 0xcc} /* capital letter a with tilde */, + {0x00c4, 0x80} /* capital letter a with diaeresis */, + {0x00c5, 0x81} /* capital letter a with ring above */, + {0x00c6, 0xae} /* capital letter ae */, + {0x00c7, 0x82} /* capital letter c with cedilla */, + {0x00c8, 0xe9} /* capital letter e with grave */, + {0x00c9, 0x83} /* capital letter e with acute */, + {0x00ca, 0xe6} /* capital letter e with circumflex */, + {0x00cb, 0xe8} /* capital letter e with diaeresis */, + {0x00cc, 0xed} /* capital letter i with grave */, + {0x00cd, 0xea} /* capital letter i with acute */, + {0x00ce, 0xeb} /* capital letter i with circumflex */, + {0x00cf, 0xec} /* capital letter i with diaeresis */, + {0x00d1, 0x84} /* capital letter n with tilde */, + {0x00d2, 0xf1} /* capital letter o with grave */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xef} /* capital letter o with circumflex */, + {0x00d6, 0x85} /* capital letter o with diaeresis */, + {0x00d8, 0xaf} /* capital letter o with stroke */, + {0x00d9, 0xf4} /* capital letter u with grave */, + {0x00da, 0xf2} /* capital letter u with acute */, + {0x00db, 0xf3} /* capital letter u with circumflex */, + {0x00dc, 0x86} /* capital letter u with diaeresis */, + {0x00df, 0xa7} /* small letter sharp s (german) */, + {0x00e0, 0x88} /* small letter a with grave */, + {0x00e1, 0x87} /* small letter a with acute */, + {0x00e2, 0x89} /* small letter a with circumflex */, + {0x00e3, 0x8b} /* small letter a with tilde */, + {0x00e4, 0x8a} /* small letter a with diaeresis */, + {0x00e5, 0x8c} /* small letter a with ring above */, + {0x00e6, 0xbe} /* small letter ae */, + {0x00e7, 0x8d} /* small letter c with cedilla */, + {0x00e8, 0x8f} /* small letter e with grave */, + {0x00e9, 0x8e} /* small letter e with acute */, + {0x00ea, 0x90} /* small letter e with circumflex */, + {0x00eb, 0x91} /* small letter e with diaeresis */, + {0x00ec, 0x93} /* small letter i with grave */, + {0x00ed, 0x92} /* small letter i with acute */, + {0x00ee, 0x94} /* small letter i with circumflex */, + {0x00ef, 0x95} /* small letter i with diaeresis */, + {0x00f1, 0x96} /* small letter n with tilde */, + {0x00f2, 0x98} /* small letter o with grave */, + {0x00f3, 0x97} /* small letter o with acute */, + {0x00f4, 0x99} /* small letter o with circumflex */, + {0x00f5, 0x9b} /* small letter o with tilde */, + {0x00f6, 0x9a} /* small letter o with diaeresis */, + {0x00f7, 0xd6} /* sign */, + {0x00f8, 0xbf} /* small letter o with stroke */, + {0x00f9, 0x9d} /* small letter u with grave */, + {0x00fa, 0x9c} /* small letter u with acute */, + {0x00fb, 0x9e} /* small letter u with circumflex */, + {0x00fc, 0x9f} /* small letter u with diaeresis */, + {0x00ff, 0xd8} /* small letter y with diaeresis */, + {0x0131, 0xf5} /* small letter i dotless */, + {0x0152, 0xce} /* capital ligature oe */, + {0x0153, 0xcf} /* small ligature oe */, + {0x0178, 0xd9} /* capital letter y with diaeresis */, + {0x0192, 0xc4} /* minuscule latine f hameçon */, + {0x02c7, 0xff} /* caron */, + {0x02d8, 0xf9} /* breve */, + {0x02d9, 0xfa} /* above */, + {0x02da, 0xfb} /* above */, + {0x02db, 0xfe} /* ogonek */, + {0x02dd, 0xfd} /* acute accent */, + {0x0394, 0xc6} /* capital letter delta */, + {0x03a9, 0xbd} /* capital letter omega */, + {0x03c0, 0xb9} /* small letter pi */, + {0x2013, 0xd0} /* dash */, + {0x2014, 0xd1} /* dash */, + {0x2018, 0xd4} /* single quotation mark */, + {0x2019, 0xd5} /* single quotation mark */, + {0x201a, 0xe2} /* low-9 quotation mark */, + {0x201c, 0xd2} /* double quotation mark */, + {0x201d, 0xd3} /* double quotation mark */, + {0x201e, 0xe3} /* low-9 quotation mark */, + {0x2020, 0xa0} /* dagger */, + {0x2021, 0xe0} /* dagger */, + {0x2022, 0xa5} /* puce */, + {0x2026, 0xc9} /* horizontal ellipsis */, + {0x2030, 0xe4} /* mille sign */, + {0x2039, 0xdc} /* left-pointing angle quotation mark */, + {0x203a, 0xdd} /* right-pointing angle quotation mark */, + {0x2044, 0xda} /* slash */, + {0x2122, 0xaa} /* mark sign */, + {0x2126, 0xcd} /* sign */, + {0x2202, 0xb6} /* differential */, + {0x220f, 0xb8} /* product */, + {0x2211, 0xb7} /* summation */, + {0x221a, 0xc3} /* root */, + {0x221e, 0xb0} /* infinity */, + {0x222b, 0xba} /* integral */, + {0x2248, 0xc5} /* equal to */, + {0x2260, 0xad} /* equal to */, + {0x2264, 0xb2} /* or equal to */, + {0x2265, 0xb3} /* or equal to */, + {0x25ca, 0xd7} /* lozenge */, + {0xe01e, 0xf0} /* */, + {0xfb01, 0xde} /* small ligature fi */, + {0xfb02, 0xdf} /* small ligature fl */ +}; + +/* +#define cet_ucs4_to_macintosh_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_macintosh_extra[cet_ucs4_to_macintosh_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_macintosh = /* defined in cet.h */ +{ + cet_cs_name_macintosh, /* name of character set */ + cet_cs_alias_macintosh, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_macintosh, /* char to UCS-4 value table */ + cet_ucs4_ofs_macintosh, /* first non standard character */ + cet_ucs4_cnt_macintosh, /* number of values in table */ + + cet_ucs4_to_macintosh_links, /* UCS-4 to char links */ + cet_ucs4_to_macintosh_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int macintosh_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c4, 0x00c5, 0x00c7, 0x00c9, 0x00d1, 0x00d6, 0x00dc, 0x00e1, + 0x00e0, 0x00e2, 0x00e4, 0x00e3, 0x00e5, 0x00e7, 0x00e9, 0x00e8, + 0x00ea, 0x00eb, 0x00ed, 0x00ec, 0x00ee, 0x00ef, 0x00f1, 0x00f3, + 0x00f2, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x00f9, 0x00fb, 0x00fc, + 0x2020, 0x00b0, 0x00a2, 0x00a3, 0x00a7, 0x2022, 0x00b6, 0x00df, + 0x00ae, 0x00a9, 0x2122, 0x00b4, 0x00a8, 0x2260, 0x00c6, 0x00d8, + 0x221e, 0x00b1, 0x2264, 0x2265, 0x00a5, 0x00b5, 0x2202, 0x2211, + 0x220f, 0x03c0, 0x222b, 0x00aa, 0x00ba, 0x03a9, 0x00e6, 0x00f8, + 0x00bf, 0x00a1, 0x00ac, 0x221a, 0x0192, 0x2248, 0x0394, 0x00ab, + 0x00bb, 0x2026, 0x00a0, 0x00c0, 0x00c3, 0x2126, 0x0152, 0x0153, + 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25ca, + 0x00ff, 0x0178, 0x2044, 0x00a4, 0x2039, 0x203a, 0xfb01, 0xfb02, + 0x2021, 0x00b7, 0x201a, 0x201e, 0x2030, 0x00c2, 0x00ca, 0x00c1, + 0x00cb, 0x00c8, 0x00cd, 0x00ce, 0x00cf, 0x00cc, 0x00d3, 0x00d4, + 0xe01e, 0x00d2, 0x00da, 0x00db, 0x00d9, 0x0131, -1, -1, + 0x00af, 0x02d8, 0x02d9, 0x02da, 0x00b8, 0x02dd, 0x02db, 0x02c7 +}; +*/ + +#endif diff --git a/gpsbabel/cet/macintosh_ce.h b/gpsbabel/cet/macintosh_ce.h new file mode 100644 index 000000000..1531f9d53 --- /dev/null +++ b/gpsbabel/cet/macintosh_ce.h @@ -0,0 +1,254 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "macintosh_ce" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef macintosh_ce_h +#define macintosh_ce_h + +#define cet_cs_name_macintosh_ce "macintosh_ce" + +const char *cet_cs_alias_macintosh_ce[] = +{ + "macintosh_ce/CR", "macce/CR", NULL +}; + +#define cet_ucs4_ofs_macintosh_ce 128 +#define cet_ucs4_cnt_macintosh_ce 128 + +const int cet_ucs4_map_macintosh_ce[cet_ucs4_cnt_macintosh_ce] = +{ + 0x00c4, 0x0100, 0x0101, 0x00c9, 0x0104, 0x00d6, 0x00dc, 0x00e1, + 0x0105, 0x010c, 0x00e4, 0x010d, 0x0106, 0x0107, 0x00e9, 0x0179, + 0x017a, 0x010e, 0x00ed, 0x010f, 0x0112, 0x0113, 0x0116, 0x00f3, + 0x0117, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x011a, 0x011b, 0x00fc, + 0x2020, 0x00b0, 0x0118, 0x00a3, 0x00a7, 0x2219, 0x00b6, 0x00df, + 0x00ae, 0x00a9, 0x2122, 0x0119, 0x00a8, 0x2260, 0x01f5, 0x012e, + 0x012f, 0x012a, 0x2264, 0x2265, 0x012b, 0x0136, 0x2202, 0x2211, + 0x0142, 0x013b, 0x013c, 0x013d, 0x013e, 0x0139, 0x013a, 0x0145, + 0x0146, 0x0143, 0x00ac, 0x221a, 0x0144, 0x0147, 0x0394, 0x00ab, + 0x00bb, 0x2026, 0x00a0, 0x0148, 0x0150, 0x00d5, 0x0151, 0x014c, + 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25c6, + 0x014d, 0x0154, 0x0155, 0x0158, 0x2039, 0x203a, 0x0159, 0x0156, + 0x0157, 0x0160, 0x201a, 0x201e, 0x0161, 0x015a, 0x015b, 0x00c1, + 0x0164, 0x0165, 0x00cd, 0x017d, 0x017e, 0x016a, 0x00d3, 0x00d4, + 0x016b, 0x016e, 0x00da, 0x016f, 0x0170, 0x0171, 0x0172, 0x0173, + 0x00dd, 0x00fd, 0x0137, 0x017b, 0x0141, 0x017c, 0x0122, 0x02c7 +}; + +#define cet_ucs4_to_macintosh_ce_ct 126 + +const cet_ucs4_link_t cet_ucs4_to_macintosh_ce_links[cet_ucs4_to_macintosh_ce_ct] = +{ + {0x00a0, 0xca} /* space */, + {0x00a7, 0xa4} /* sign */, + {0x00a8, 0xac} /* diaeresis */, + {0x00ab, 0xc7} /* double angle quotation mark */, + {0x00ac, 0xc2} /* sign */, + {0x00ae, 0xa8} /* sign */, + {0x00b0, 0xa1} /* sign */, + {0x00b6, 0xa6} /* sign */, + {0x00bb, 0xc8} /* double angle quotation mark */, + {0x00c1, 0xe7} /* capital letter a with acute */, + {0x00c4, 0x80} /* capital letter a with diaeresis */, + {0x00c9, 0x83} /* capital letter e with acute */, + {0x00cd, 0xea} /* capital letter i with acute */, + {0x00d3, 0xee} /* capital letter o with acute */, + {0x00d4, 0xef} /* capital letter o with circumflex */, + {0x00d5, 0xcd} /* capital letter o with tilde */, + {0x00d6, 0x85} /* capital letter o with diaeresis */, + {0x00da, 0xf2} /* capital letter u with acute */, + {0x00dc, 0x86} /* capital letter u with diaeresis */, + {0x00dd, 0xf8} /* capital letter y with acute */, + {0x00df, 0xa7} /* small letter sharp s (german) */, + {0x00e1, 0x87} /* small letter a with acute */, + {0x00e4, 0x8a} /* small letter a with diaeresis */, + {0x00e9, 0x8e} /* small letter e with acute */, + {0x00ed, 0x92} /* small letter i with acute */, + {0x00f3, 0x97} /* small letter o with acute */, + {0x00f4, 0x99} /* small letter o with circumflex */, + {0x00f5, 0x9b} /* small letter o with tilde */, + {0x00f6, 0x9a} /* small letter o with diaeresis */, + {0x00f7, 0xd6} /* sign */, + {0x00fa, 0x9c} /* small letter u with acute */, + {0x00fc, 0x9f} /* small letter u with diaeresis */, + {0x00fd, 0xf9} /* small letter y with acute */, + {0x0100, 0x81} /* capital letter a with macron */, + {0x0101, 0x82} /* small letter a with macron */, + {0x0104, 0x84} /* capital letter a with ogonek */, + {0x0105, 0x88} /* small letter a with ogonek */, + {0x0106, 0x8c} /* capital letter c with acute */, + {0x0107, 0x8d} /* small letter c with acute */, + {0x010c, 0x89} /* capital letter c with caron */, + {0x010d, 0x8b} /* small letter c with caron */, + {0x010e, 0x91} /* capital letter d with caron */, + {0x010f, 0x93} /* small letter d with caron */, + {0x0112, 0x94} /* capital letter e with macron */, + {0x0113, 0x95} /* small letter e with macron */, + {0x0116, 0x96} /* capital letter e with dot above */, + {0x0117, 0x98} /* small letter e with dot above */, + {0x0118, 0xa2} /* capital letter e with ogonek */, + {0x0119, 0xab} /* small letter e with ogonek */, + {0x011a, 0x9d} /* capital letter e with caron */, + {0x011b, 0x9e} /* small letter e with caron */, + {0x0122, 0xfe} /* capital letter g with cedilla */, + {0x012a, 0xb1} /* capital letter i with macron */, + {0x012b, 0xb4} /* small letter i with macron */, + {0x012e, 0xaf} /* capital letter i with ogonek */, + {0x012f, 0xb0} /* small letter i with ogonek */, + {0x0136, 0xb5} /* capital letter k with cedilla */, + {0x0137, 0xfa} /* small letter k with cedilla */, + {0x0139, 0xbd} /* capital letter l with acute */, + {0x013a, 0xbe} /* small letter l with acute */, + {0x013b, 0xb9} /* capital letter l with cedilla */, + {0x013c, 0xba} /* small letter l with cedilla */, + {0x013d, 0xbb} /* capital letter l with caron */, + {0x013e, 0xbc} /* small letter l with caron */, + {0x0141, 0xfc} /* capital letter l with stroke */, + {0x0142, 0xb8} /* small letter l with stroke */, + {0x0143, 0xc1} /* capital letter n with acute */, + {0x0144, 0xc4} /* small letter n with acute */, + {0x0145, 0xbf} /* capital letter n with cedilla */, + {0x0146, 0xc0} /* small letter n with cedilla */, + {0x0147, 0xc5} /* capital letter n with caron */, + {0x0148, 0xcb} /* small letter n with caron */, + {0x014c, 0xcf} /* capital letter o with macron */, + {0x014d, 0xd8} /* small letter o with macron */, + {0x0150, 0xcc} /* capital letter o with double acute */, + {0x0151, 0xce} /* small letter o with double acute */, + {0x0154, 0xd9} /* capital letter r with acute */, + {0x0155, 0xda} /* small letter r with acute */, + {0x0156, 0xdf} /* capital letter r with cedilla */, + {0x0157, 0xe0} /* small letter r with cedilla */, + {0x0158, 0xdb} /* capital letter r with caron */, + {0x0159, 0xde} /* small letter r with caron */, + {0x015a, 0xe5} /* capital letter s with acute */, + {0x015b, 0xe6} /* small letter s with acute */, + {0x0160, 0xe1} /* capital letter s with caron */, + {0x0161, 0xe4} /* small letter s with caron */, + {0x0164, 0xe8} /* capital letter t with caron */, + {0x0165, 0xe9} /* small letter t with caron */, + {0x016a, 0xed} /* capital letter u with macron */, + {0x016b, 0xf0} /* small letter u with macron */, + {0x016e, 0xf1} /* capital letter u with ring above */, + {0x016f, 0xf3} /* small letter u with ring above */, + {0x0170, 0xf4} /* capital letter u with double acute */, + {0x0171, 0xf5} /* small letter u with double acute */, + {0x0172, 0xf6} /* capital letter u with ogonek */, + {0x0173, 0xf7} /* small letter u with ogonek */, + {0x0179, 0x8f} /* capital letter z with acute */, + {0x017a, 0x90} /* small letter z with acute */, + {0x017b, 0xfb} /* capital letter z with dot above */, + {0x017c, 0xfd} /* small letter z with dot above */, + {0x017d, 0xeb} /* capital letter z with caron */, + {0x017e, 0xec} /* small letter z with caron */, + {0x01f5, 0xae} /* small letter g with acute */, + {0x02c7, 0xff} /* caron */, + {0x0394, 0xc6} /* capital letter delta */, + {0x2013, 0xd0} /* dash */, + {0x2014, 0xd1} /* dash */, + {0x2018, 0xd4} /* single quotation mark */, + {0x2019, 0xd5} /* single quotation mark */, + {0x201a, 0xe2} /* low-9 quotation mark */, + {0x201c, 0xd2} /* double quotation mark */, + {0x201d, 0xd3} /* double quotation mark */, + {0x201e, 0xe3} /* low-9 quotation mark */, + {0x2020, 0xa0} /* dagger */, + {0x2026, 0xc9} /* horizontal ellipsis */, + {0x2039, 0xdc} /* left-pointing angle quotation mark */, + {0x203a, 0xdd} /* right-pointing angle quotation mark */, + {0x2122, 0xaa} /* mark sign */, + {0x2202, 0xb6} /* differential */, + {0x2211, 0xb7} /* summation */, + {0x2219, 0xa5} /* operator */, + {0x221a, 0xc3} /* root */, + {0x2260, 0xad} /* equal to */, + {0x2264, 0xb2} /* or equal to */, + {0x2265, 0xb3} /* or equal to */, + {0x25c6, 0xd7} /* diamond */ +}; + +/* +#define cet_ucs4_to_macintosh_ce_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_macintosh_ce_extra[cet_ucs4_to_macintosh_ce_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_macintosh_ce = /* defined in cet.h */ +{ + cet_cs_name_macintosh_ce, /* name of character set */ + cet_cs_alias_macintosh_ce, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_macintosh_ce, /* char to UCS-4 value table */ + cet_ucs4_ofs_macintosh_ce, /* first non standard character */ + cet_ucs4_cnt_macintosh_ce, /* number of values in table */ + + cet_ucs4_to_macintosh_ce_links, /* UCS-4 to char links */ + cet_ucs4_to_macintosh_ce_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int macintosh_ce_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c4, 0x0100, 0x0101, 0x00c9, 0x0104, 0x00d6, 0x00dc, 0x00e1, + 0x0105, 0x010c, 0x00e4, 0x010d, 0x0106, 0x0107, 0x00e9, 0x0179, + 0x017a, 0x010e, 0x00ed, 0x010f, 0x0112, 0x0113, 0x0116, 0x00f3, + 0x0117, 0x00f4, 0x00f6, 0x00f5, 0x00fa, 0x011a, 0x011b, 0x00fc, + 0x2020, 0x00b0, 0x0118, 0x00a3, 0x00a7, 0x2219, 0x00b6, 0x00df, + 0x00ae, 0x00a9, 0x2122, 0x0119, 0x00a8, 0x2260, 0x01f5, 0x012e, + 0x012f, 0x012a, 0x2264, 0x2265, 0x012b, 0x0136, 0x2202, 0x2211, + 0x0142, 0x013b, 0x013c, 0x013d, 0x013e, 0x0139, 0x013a, 0x0145, + 0x0146, 0x0143, 0x00ac, 0x221a, 0x0144, 0x0147, 0x0394, 0x00ab, + 0x00bb, 0x2026, 0x00a0, 0x0148, 0x0150, 0x00d5, 0x0151, 0x014c, + 0x2013, 0x2014, 0x201c, 0x201d, 0x2018, 0x2019, 0x00f7, 0x25c6, + 0x014d, 0x0154, 0x0155, 0x0158, 0x2039, 0x203a, 0x0159, 0x0156, + 0x0157, 0x0160, 0x201a, 0x201e, 0x0161, 0x015a, 0x015b, 0x00c1, + 0x0164, 0x0165, 0x00cd, 0x017d, 0x017e, 0x016a, 0x00d3, 0x00d4, + 0x016b, 0x016e, 0x00da, 0x016f, 0x0170, 0x0171, 0x0172, 0x0173, + 0x00dd, 0x00fd, 0x0137, 0x017b, 0x0141, 0x017c, 0x0122, 0x02c7 +}; +*/ + +#endif diff --git a/gpsbabel/cet/msz_7795_3.h b/gpsbabel/cet/msz_7795_3.h new file mode 100644 index 000000000..0034a41bf --- /dev/null +++ b/gpsbabel/cet/msz_7795_3.h @@ -0,0 +1,135 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "MSZ_7795.3" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef msz_7795_3_h +#define msz_7795_3_h + +#define cet_cs_name_msz_7795_3 "MSZ_7795.3" + +const char *cet_cs_alias_msz_7795_3[] = +{ + "MSZ_7795.3", "hu", "ISO646-HU", "iso-ir-86", + NULL +}; + +#define cet_ucs4_ofs_msz_7795_3 36 +#define cet_ucs4_cnt_msz_7795_3 92 + +const int cet_ucs4_map_msz_7795_3[cet_ucs4_cnt_msz_7795_3] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x00c1, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00c9, + 0x00d6, 0x00dc, 0x005e, 0x005f, 0x00e1, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00e9, + 0x00f6, 0x00fc, 0x02dd, 0x007f +}; + +#define cet_ucs4_to_msz_7795_3_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_msz_7795_3_links[cet_ucs4_to_msz_7795_3_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x00c1, 0x40} /* capital letter a with acute */, + {0x00c9, 0x5b} /* capital letter e with acute */, + {0x00d6, 0x5c} /* capital letter o with diaeresis */, + {0x00dc, 0x5d} /* capital letter u with diaeresis */, + {0x00e1, 0x60} /* small letter a with acute */, + {0x00e9, 0x7b} /* small letter e with acute */, + {0x00f6, 0x7c} /* small letter o with diaeresis */, + {0x00fc, 0x7d} /* small letter u with diaeresis */, + {0x02dd, 0x7e} /* acute accent */ +}; + +/* +#define cet_ucs4_to_msz_7795_3_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_msz_7795_3_extra[cet_ucs4_to_msz_7795_3_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_msz_7795_3 = /* defined in cet.h */ +{ + cet_cs_name_msz_7795_3, /* name of character set */ + cet_cs_alias_msz_7795_3, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_msz_7795_3, /* char to UCS-4 value table */ + cet_ucs4_ofs_msz_7795_3, /* first non standard character */ + cet_ucs4_cnt_msz_7795_3, /* number of values in table */ + + cet_ucs4_to_msz_7795_3_links, /* UCS-4 to char links */ + cet_ucs4_to_msz_7795_3_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int msz_7795_3_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00c1, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c9, 0x00d6, 0x00dc, 0x005e, 0x005f, + 0x00e1, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e9, 0x00f6, 0x00fc, 0x02dd, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/nats_dano.h b/gpsbabel/cet/nats_dano.h new file mode 100644 index 000000000..beb3433a4 --- /dev/null +++ b/gpsbabel/cet/nats_dano.h @@ -0,0 +1,136 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NATS-DANO" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef nats_dano_h +#define nats_dano_h + +#define cet_cs_name_nats_dano "NATS-DANO" + +const char *cet_cs_alias_nats_dano[] = +{ + "NATS-DANO", "iso-ir-9-1", NULL +}; + +#define cet_ucs4_ofs_nats_dano 34 +#define cet_ucs4_cnt_nats_dano 94 + +const int cet_ucs4_map_nats_dano[cet_ucs4_cnt_nats_dano] = +{ + 0x00ab, 0x00bb, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, + 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, + 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, + 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0xe018, 0x0041, + 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, + 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, + 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, + 0x005a, 0x00c6, 0x00d8, 0x00c5, 0x25a0, 0x005f, 0xe019, 0x0061, + 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, + 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, + 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, + 0x007a, 0x00e6, 0x00f8, 0x00e5, 0x2013, 0x007f +}; + +#define cet_ucs4_to_nats_dano_ct 12 + +const cet_ucs4_link_t cet_ucs4_to_nats_dano_links[cet_ucs4_to_nats_dano_ct] = +{ + {0x00ab, 0x22} /* double angle quotation mark */, + {0x00bb, 0x23} /* double angle quotation mark */, + {0x00c5, 0x5d} /* capital letter a with ring above */, + {0x00c6, 0x5b} /* capital letter ae */, + {0x00d8, 0x5c} /* capital letter o with stroke */, + {0x00e5, 0x7d} /* small letter a with ring above */, + {0x00e6, 0x7b} /* small letter ae */, + {0x00f8, 0x7c} /* small letter o with stroke */, + {0x2013, 0x7e} /* dash */, + {0x25a0, 0x5e} /* square */, + {0xe018, 0x40} /* space a (iso-ir-8-1 064) */, + {0xe019, 0x60} /* space b (iso-ir-8-1 096) */ +}; + +/* +#define cet_ucs4_to_nats_dano_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_nats_dano_extra[cet_ucs4_to_nats_dano_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_nats_dano = /* defined in cet.h */ +{ + cet_cs_name_nats_dano, /* name of character set */ + cet_cs_alias_nats_dano, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_nats_dano, /* char to UCS-4 value table */ + cet_ucs4_ofs_nats_dano, /* first non standard character */ + cet_ucs4_cnt_nats_dano, /* number of values in table */ + + cet_ucs4_to_nats_dano_links, /* UCS-4 to char links */ + cet_ucs4_to_nats_dano_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int nats_dano_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x00ab, 0x00bb, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0xe018, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c6, 0x00d8, 0x00c5, 0x25a0, 0x005f, + 0xe019, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e6, 0x00f8, 0x00e5, 0x2013, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/nats_sefi.h b/gpsbabel/cet/nats_sefi.h new file mode 100644 index 000000000..93c0713ec --- /dev/null +++ b/gpsbabel/cet/nats_sefi.h @@ -0,0 +1,130 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NATS-SEFI" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef nats_sefi_h +#define nats_sefi_h + +#define cet_cs_name_nats_sefi "NATS-SEFI" + +const char *cet_cs_alias_nats_sefi[] = +{ + "NATS-SEFI", "iso-ir-8-1", NULL +}; + +#define cet_ucs4_ofs_nats_sefi 64 +#define cet_ucs4_cnt_nats_sefi 64 + +const int cet_ucs4_map_nats_sefi[cet_ucs4_cnt_nats_sefi] = +{ + 0xe018, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c4, 0x00d6, 0x00c5, 0x25a0, 0x005f, + 0xe019, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e4, 0x00f6, 0x00e5, 0x2013, 0x007f +}; + +#define cet_ucs4_to_nats_sefi_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_nats_sefi_links[cet_ucs4_to_nats_sefi_ct] = +{ + {0x00c4, 0x5b} /* capital letter a with diaeresis */, + {0x00c5, 0x5d} /* capital letter a with ring above */, + {0x00d6, 0x5c} /* capital letter o with diaeresis */, + {0x00e4, 0x7b} /* small letter a with diaeresis */, + {0x00e5, 0x7d} /* small letter a with ring above */, + {0x00f6, 0x7c} /* small letter o with diaeresis */, + {0x2013, 0x7e} /* dash */, + {0x25a0, 0x5e} /* square */, + {0xe018, 0x40} /* space a (iso-ir-8-1 064) */, + {0xe019, 0x60} /* space b (iso-ir-8-1 096) */ +}; + +/* +#define cet_ucs4_to_nats_sefi_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_nats_sefi_extra[cet_ucs4_to_nats_sefi_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_nats_sefi = /* defined in cet.h */ +{ + cet_cs_name_nats_sefi, /* name of character set */ + cet_cs_alias_nats_sefi, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_nats_sefi, /* char to UCS-4 value table */ + cet_ucs4_ofs_nats_sefi, /* first non standard character */ + cet_ucs4_cnt_nats_sefi, /* number of values in table */ + + cet_ucs4_to_nats_sefi_links, /* UCS-4 to char links */ + cet_ucs4_to_nats_sefi_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int nats_sefi_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0xe018, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c4, 0x00d6, 0x00c5, 0x25a0, 0x005f, + 0xe019, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e4, 0x00f6, 0x00e5, 0x2013, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/nc_nc00_10.h b/gpsbabel/cet/nc_nc00_10.h new file mode 100644 index 000000000..256cc493c --- /dev/null +++ b/gpsbabel/cet/nc_nc00_10.h @@ -0,0 +1,133 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NC_NC00-10" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef nc_nc00_10_h +#define nc_nc00_10_h + +#define cet_cs_name_nc_nc00_10 "NC_NC00-10" + +const char *cet_cs_alias_nc_nc00_10[] = +{ + "NC_NC00-10", "cuba", "ISO646-CU", "iso-ir-151", + "NC_NC00-10:81", NULL +}; + +#define cet_ucs4_ofs_nc_nc00_10 36 +#define cet_ucs4_cnt_nc_nc00_10 92 + +const int cet_ucs4_map_nc_nc00_10[cet_ucs4_cnt_nc_nc00_10] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00a1, + 0x00d1, 0x005d, 0x00bf, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00b4, + 0x00f1, 0x005b, 0x00a8, 0x007f +}; + +#define cet_ucs4_to_nc_nc00_10_ct 8 + +const cet_ucs4_link_t cet_ucs4_to_nc_nc00_10_links[cet_ucs4_to_nc_nc00_10_ct] = +{ + {0x005b, 0x7d} /* square bracket */, + {0x00a1, 0x5b} /* exclamation mark */, + {0x00a4, 0x24} /* sign */, + {0x00a8, 0x7e} /* diaeresis */, + {0x00b4, 0x7b} /* accent */, + {0x00bf, 0x5e} /* question mark */, + {0x00d1, 0x5c} /* capital letter n with tilde */, + {0x00f1, 0x7c} /* small letter n with tilde */ +}; + +/* +#define cet_ucs4_to_nc_nc00_10_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_nc_nc00_10_extra[cet_ucs4_to_nc_nc00_10_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_nc_nc00_10 = /* defined in cet.h */ +{ + cet_cs_name_nc_nc00_10, /* name of character set */ + cet_cs_alias_nc_nc00_10, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_nc_nc00_10, /* char to UCS-4 value table */ + cet_ucs4_ofs_nc_nc00_10, /* first non standard character */ + cet_ucs4_cnt_nc_nc00_10, /* number of values in table */ + + cet_ucs4_to_nc_nc00_10_links, /* UCS-4 to char links */ + cet_ucs4_to_nc_nc00_10_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int nc_nc00_10_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00a1, 0x00d1, 0x005d, 0x00bf, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00b4, 0x00f1, 0x005b, 0x00a8, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/nextstep.h b/gpsbabel/cet/nextstep.h new file mode 100644 index 000000000..f4e4a5d3a --- /dev/null +++ b/gpsbabel/cet/nextstep.h @@ -0,0 +1,240 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NeXTSTEP" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef nextstep_h +#define nextstep_h + +#define cet_cs_name_nextstep "NeXTSTEP" + +const char *cet_cs_alias_nextstep[] = +{ + "NeXTSTEP", "next", NULL +}; + +#define cet_ucs4_ofs_nextstep 128 +#define cet_ucs4_cnt_nextstep 126 + +const int cet_ucs4_map_nextstep[cet_ucs4_cnt_nextstep] = +{ + 0x00a0, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d9, + 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00b5, 0x00d7, 0x00f7, + 0x00a9, 0x00a1, 0x00a2, 0x00a3, 0x2044, 0x00a5, 0x0192, 0x00a7, + 0x00a4, -1, 0x201c, 0x00ab, -1, -1, 0xfb01, 0xfb02, + 0x00ae, 0x2013, 0x2020, 0x2021, 0x00b7, 0x00a6, 0x00b6, 0x2022, + -1, -1, 0x201d, 0x00bb, 0x2026, 0x2030, 0x00ac, 0x00bf, + 0x00b9, 0x02cb, 0x00b4, 0x02c6, 0x02dc, 0x00af, 0x02d8, 0x02d9, + 0x00a8, 0x00b2, 0x02da, 0x00b8, 0x00b3, 0x02dd, 0x02db, 0x02c7, + 0x2014, 0x00b1, 0x00bc, 0x00bd, 0x00be, 0x00e0, 0x00e1, 0x00e2, + 0x00e3, 0x00e4, 0x00e5, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb, + 0x00ec, 0x00c6, 0x00ed, 0x00aa, 0x00ee, 0x00ef, 0x00f0, 0x00f1, + 0x0141, 0x00d8, 0x0152, 0x00ba, 0x00f2, 0x00f3, 0x00f4, 0x00f5, + 0x00f6, 0x00e6, 0x00f9, 0x00fa, 0x00fb, 0x0131, 0x00fc, 0x00fd, + 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x00ff +}; + +#define cet_ucs4_to_nextstep_ct 112 + +const cet_ucs4_link_t cet_ucs4_to_nextstep_links[cet_ucs4_to_nextstep_ct] = +{ + {0x00a0, 0x80} /* space */, + {0x00a4, 0xa8} /* sign */, + {0x00a6, 0xb5} /* bar */, + {0x00a8, 0xc8} /* diaeresis */, + {0x00a9, 0xa0} /* sign */, + {0x00aa, 0xe3} /* ordinal indicator */, + {0x00ac, 0xbe} /* sign */, + {0x00ae, 0xb0} /* sign */, + {0x00af, 0xc5} /* macron */, + {0x00b1, 0xd1} /* sign */, + {0x00b2, 0xc9} /* two */, + {0x00b3, 0xcc} /* three */, + {0x00b4, 0xc2} /* accent */, + {0x00b5, 0x9d} /* sign */, + {0x00b7, 0xb4} /* dot */, + {0x00b8, 0xcb} /* cedilla */, + {0x00b9, 0xc0} /* one */, + {0x00ba, 0xeb} /* ordinal indicator */, + {0x00bc, 0xd2} /* fraction one quarter */, + {0x00bd, 0xd3} /* fraction one half */, + {0x00be, 0xd4} /* fraction three quarters */, + {0x00c0, 0x81} /* capital letter a with grave */, + {0x00c1, 0x82} /* capital letter a with acute */, + {0x00c2, 0x83} /* capital letter a with circumflex */, + {0x00c3, 0x84} /* capital letter a with tilde */, + {0x00c4, 0x85} /* capital letter a with diaeresis */, + {0x00c5, 0x86} /* capital letter a with ring above */, + {0x00c6, 0xe1} /* capital letter ae */, + {0x00c7, 0x87} /* capital letter c with cedilla */, + {0x00c8, 0x88} /* capital letter e with grave */, + {0x00c9, 0x89} /* capital letter e with acute */, + {0x00ca, 0x8a} /* capital letter e with circumflex */, + {0x00cb, 0x8b} /* capital letter e with diaeresis */, + {0x00cc, 0x8c} /* capital letter i with grave */, + {0x00cd, 0x8d} /* capital letter i with acute */, + {0x00ce, 0x8e} /* capital letter i with circumflex */, + {0x00cf, 0x8f} /* capital letter i with diaeresis */, + {0x00d0, 0x90} /* capital letter eth (icelandic) */, + {0x00d1, 0x91} /* capital letter n with tilde */, + {0x00d2, 0x92} /* capital letter o with grave */, + {0x00d3, 0x93} /* capital letter o with acute */, + {0x00d4, 0x94} /* capital letter o with circumflex */, + {0x00d5, 0x95} /* capital letter o with tilde */, + {0x00d6, 0x96} /* capital letter o with diaeresis */, + {0x00d7, 0x9e} /* sign */, + {0x00d8, 0xe9} /* capital letter o with stroke */, + {0x00d9, 0x97} /* capital letter u with grave */, + {0x00da, 0x98} /* capital letter u with acute */, + {0x00db, 0x99} /* capital letter u with circumflex */, + {0x00dc, 0x9a} /* capital letter u with diaeresis */, + {0x00dd, 0x9b} /* capital letter y with acute */, + {0x00de, 0x9c} /* capital letter thorn (icelandic) */, + {0x00df, 0xfb} /* small letter sharp s (german) */, + {0x00e0, 0xd5} /* small letter a with grave */, + {0x00e1, 0xd6} /* small letter a with acute */, + {0x00e2, 0xd7} /* small letter a with circumflex */, + {0x00e3, 0xd8} /* small letter a with tilde */, + {0x00e4, 0xd9} /* small letter a with diaeresis */, + {0x00e5, 0xda} /* small letter a with ring above */, + {0x00e6, 0xf1} /* small letter ae */, + {0x00e7, 0xdb} /* small letter c with cedilla */, + {0x00e8, 0xdc} /* small letter e with grave */, + {0x00e9, 0xdd} /* small letter e with acute */, + {0x00ea, 0xde} /* small letter e with circumflex */, + {0x00eb, 0xdf} /* small letter e with diaeresis */, + {0x00ec, 0xe0} /* small letter i with grave */, + {0x00ed, 0xe2} /* small letter i with acute */, + {0x00ee, 0xe4} /* small letter i with circumflex */, + {0x00ef, 0xe5} /* small letter i with diaeresis */, + {0x00f0, 0xe6} /* small letter eth (icelandic) */, + {0x00f1, 0xe7} /* small letter n with tilde */, + {0x00f2, 0xec} /* small letter o with grave */, + {0x00f3, 0xed} /* small letter o with acute */, + {0x00f4, 0xee} /* small letter o with circumflex */, + {0x00f5, 0xef} /* small letter o with tilde */, + {0x00f6, 0xf0} /* small letter o with diaeresis */, + {0x00f7, 0x9f} /* sign */, + {0x00f8, 0xf9} /* small letter o with stroke */, + {0x00f9, 0xf2} /* small letter u with grave */, + {0x00fa, 0xf3} /* small letter u with acute */, + {0x00fb, 0xf4} /* small letter u with circumflex */, + {0x00fc, 0xf6} /* small letter u with diaeresis */, + {0x00fd, 0xf7} /* small letter y with acute */, + {0x00fe, 0xfc} /* small letter thorn (icelandic) */, + {0x00ff, 0xfd} /* small letter y with diaeresis */, + {0x0131, 0xf5} /* small letter i dotless */, + {0x0141, 0xe8} /* capital letter l with stroke */, + {0x0142, 0xf8} /* small letter l with stroke */, + {0x0152, 0xea} /* capital ligature oe */, + {0x0153, 0xfa} /* small ligature oe */, + {0x0192, 0xa6} /* minuscule latine f hameçon */, + {0x02c6, 0xc3} /* modificative accent circonflexe */, + {0x02c7, 0xcf} /* caron */, + {0x02cb, 0xc1} /* modificative accent grave */, + {0x02d8, 0xc6} /* breve */, + {0x02d9, 0xc7} /* above */, + {0x02da, 0xca} /* above */, + {0x02db, 0xce} /* ogonek */, + {0x02dc, 0xc4} /* tilde */, + {0x02dd, 0xcd} /* acute accent */, + {0x2013, 0xb1} /* dash */, + {0x2014, 0xd0} /* dash */, + {0x201c, 0xaa} /* double quotation mark */, + {0x201d, 0xba} /* double quotation mark */, + {0x2020, 0xb2} /* dagger */, + {0x2021, 0xb3} /* dagger */, + {0x2022, 0xb7} /* puce */, + {0x2026, 0xbc} /* horizontal ellipsis */, + {0x2030, 0xbd} /* mille sign */, + {0x2044, 0xa4} /* slash */, + {0xfb01, 0xae} /* small ligature fi */, + {0xfb02, 0xaf} /* small ligature fl */ +}; + +/* +#define cet_ucs4_to_nextstep_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_nextstep_extra[cet_ucs4_to_nextstep_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_nextstep = /* defined in cet.h */ +{ + cet_cs_name_nextstep, /* name of character set */ + cet_cs_alias_nextstep, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_nextstep, /* char to UCS-4 value table */ + cet_ucs4_ofs_nextstep, /* first non standard character */ + cet_ucs4_cnt_nextstep, /* number of values in table */ + + cet_ucs4_to_nextstep_links, /* UCS-4 to char links */ + cet_ucs4_to_nextstep_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int nextstep_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00a0, 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x00c4, 0x00c5, 0x00c7, + 0x00c8, 0x00c9, 0x00ca, 0x00cb, 0x00cc, 0x00cd, 0x00ce, 0x00cf, + 0x00d0, 0x00d1, 0x00d2, 0x00d3, 0x00d4, 0x00d5, 0x00d6, 0x00d9, + 0x00da, 0x00db, 0x00dc, 0x00dd, 0x00de, 0x00b5, 0x00d7, 0x00f7, + 0x00a9, 0x00a1, 0x00a2, 0x00a3, 0x2044, 0x00a5, 0x0192, 0x00a7, + 0x00a4, -1, 0x201c, 0x00ab, -1, -1, 0xfb01, 0xfb02, + 0x00ae, 0x2013, 0x2020, 0x2021, 0x00b7, 0x00a6, 0x00b6, 0x2022, + -1, -1, 0x201d, 0x00bb, 0x2026, 0x2030, 0x00ac, 0x00bf, + 0x00b9, 0x02cb, 0x00b4, 0x02c6, 0x02dc, 0x00af, 0x02d8, 0x02d9, + 0x00a8, 0x00b2, 0x02da, 0x00b8, 0x00b3, 0x02dd, 0x02db, 0x02c7, + 0x2014, 0x00b1, 0x00bc, 0x00bd, 0x00be, 0x00e0, 0x00e1, 0x00e2, + 0x00e3, 0x00e4, 0x00e5, 0x00e7, 0x00e8, 0x00e9, 0x00ea, 0x00eb, + 0x00ec, 0x00c6, 0x00ed, 0x00aa, 0x00ee, 0x00ef, 0x00f0, 0x00f1, + 0x0141, 0x00d8, 0x0152, 0x00ba, 0x00f2, 0x00f3, 0x00f4, 0x00f5, + 0x00f6, 0x00e6, 0x00f9, 0x00fa, 0x00fb, 0x0131, 0x00fc, 0x00fd, + 0x0142, 0x00f8, 0x0153, 0x00df, 0x00fe, 0x00ff, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/nf_z_62_010.h b/gpsbabel/cet/nf_z_62_010.h new file mode 100644 index 000000000..97a0cea8f --- /dev/null +++ b/gpsbabel/cet/nf_z_62_010.h @@ -0,0 +1,135 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NF_Z_62-010" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef nf_z_62_010_h +#define nf_z_62_010_h + +#define cet_cs_name_nf_z_62_010 "NF_Z_62-010" + +const char *cet_cs_alias_nf_z_62_010[] = +{ + "NF_Z_62-010", "fr", "ISO646-FR", "iso-ir-69", + NULL +}; + +#define cet_ucs4_ofs_nf_z_62_010 35 +#define cet_ucs4_cnt_nf_z_62_010 93 + +const int cet_ucs4_map_nf_z_62_010[cet_ucs4_cnt_nf_z_62_010] = +{ + 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, + 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, + 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x00e0, 0x0041, 0x0042, + 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, + 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, + 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, + 0x00b0, 0x00e7, 0x00a7, 0x005e, 0x005f, 0x00b5, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00e9, 0x00f9, 0x00e8, 0x00a8, 0x007f +}; + +#define cet_ucs4_to_nf_z_62_010_ct 10 + +const cet_ucs4_link_t cet_ucs4_to_nf_z_62_010_links[cet_ucs4_to_nf_z_62_010_ct] = +{ + {0x00a3, 0x23} /* sign */, + {0x00a7, 0x5d} /* sign */, + {0x00a8, 0x7e} /* diaeresis */, + {0x00b0, 0x5b} /* sign */, + {0x00b5, 0x60} /* sign */, + {0x00e0, 0x40} /* small letter a with grave */, + {0x00e7, 0x5c} /* small letter c with cedilla */, + {0x00e8, 0x7d} /* small letter e with grave */, + {0x00e9, 0x7b} /* small letter e with acute */, + {0x00f9, 0x7c} /* small letter u with grave */ +}; + +/* +#define cet_ucs4_to_nf_z_62_010_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_nf_z_62_010_extra[cet_ucs4_to_nf_z_62_010_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_nf_z_62_010 = /* defined in cet.h */ +{ + cet_cs_name_nf_z_62_010, /* name of character set */ + cet_cs_alias_nf_z_62_010, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_nf_z_62_010, /* char to UCS-4 value table */ + cet_ucs4_ofs_nf_z_62_010, /* first non standard character */ + cet_ucs4_cnt_nf_z_62_010, /* number of values in table */ + + cet_ucs4_to_nf_z_62_010_links, /* UCS-4 to char links */ + cet_ucs4_to_nf_z_62_010_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int nf_z_62_010_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00b0, 0x00e7, 0x00a7, 0x005e, 0x005f, + 0x00b5, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e9, 0x00f9, 0x00e8, 0x00a8, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/nf_z_62_010__1973_.h b/gpsbabel/cet/nf_z_62_010__1973_.h new file mode 100644 index 000000000..b1b027cad --- /dev/null +++ b/gpsbabel/cet/nf_z_62_010__1973_.h @@ -0,0 +1,133 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NF_Z_62-010_(1973)" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef nf_z_62_010__1973__h +#define nf_z_62_010__1973__h + +#define cet_cs_name_nf_z_62_010__1973_ "NF_Z_62-010_(1973)" + +const char *cet_cs_alias_nf_z_62_010__1973_[] = +{ + "NF_Z_62-010_(1973)", "ISO646-FR1", "iso-ir-25", NULL +}; + +#define cet_ucs4_ofs_nf_z_62_010__1973_ 35 +#define cet_ucs4_cnt_nf_z_62_010__1973_ 93 + +const int cet_ucs4_map_nf_z_62_010__1973_[cet_ucs4_cnt_nf_z_62_010__1973_] = +{ + 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, + 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, + 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x00e0, 0x0041, 0x0042, + 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, + 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, + 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, + 0x00b0, 0x00e7, 0x00a7, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00e9, 0x00f9, 0x00e8, 0x00a8, 0x007f +}; + +#define cet_ucs4_to_nf_z_62_010__1973__ct 9 + +const cet_ucs4_link_t cet_ucs4_to_nf_z_62_010__1973__links[cet_ucs4_to_nf_z_62_010__1973__ct] = +{ + {0x00a3, 0x23} /* sign */, + {0x00a7, 0x5d} /* sign */, + {0x00a8, 0x7e} /* diaeresis */, + {0x00b0, 0x5b} /* sign */, + {0x00e0, 0x40} /* small letter a with grave */, + {0x00e7, 0x5c} /* small letter c with cedilla */, + {0x00e8, 0x7d} /* small letter e with grave */, + {0x00e9, 0x7b} /* small letter e with acute */, + {0x00f9, 0x7c} /* small letter u with grave */ +}; + +/* +#define cet_ucs4_to_nf_z_62_010__1973__extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_nf_z_62_010__1973__extra[cet_ucs4_to_nf_z_62_010__1973__extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_nf_z_62_010__1973_ = /* defined in cet.h */ +{ + cet_cs_name_nf_z_62_010__1973_, /* name of character set */ + cet_cs_alias_nf_z_62_010__1973_, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_nf_z_62_010__1973_, /* char to UCS-4 value table */ + cet_ucs4_ofs_nf_z_62_010__1973_, /* first non standard character */ + cet_ucs4_cnt_nf_z_62_010__1973_, /* number of values in table */ + + cet_ucs4_to_nf_z_62_010__1973__links, /* UCS-4 to char links */ + cet_ucs4_to_nf_z_62_010__1973__ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int nf_z_62_010__1973__ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x00a3, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00e0, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00b0, 0x00e7, 0x00a7, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e9, 0x00f9, 0x00e8, 0x00a8, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ns_4551_1.h b/gpsbabel/cet/ns_4551_1.h new file mode 100644 index 000000000..edad059e4 --- /dev/null +++ b/gpsbabel/cet/ns_4551_1.h @@ -0,0 +1,125 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NS_4551-1" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ns_4551_1_h +#define ns_4551_1_h + +#define cet_cs_name_ns_4551_1 "NS_4551-1" + +const char *cet_cs_alias_ns_4551_1[] = +{ + "NS_4551-1", "ISO646-NO", "iso-ir-60", "no", + NULL +}; + +#define cet_ucs4_ofs_ns_4551_1 91 +#define cet_ucs4_cnt_ns_4551_1 37 + +const int cet_ucs4_map_ns_4551_1[cet_ucs4_cnt_ns_4551_1] = +{ + 0x00c6, 0x00d8, 0x00c5, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00e6, 0x00f8, 0x00e5, 0x203e, 0x007f +}; + +#define cet_ucs4_to_ns_4551_1_ct 7 + +const cet_ucs4_link_t cet_ucs4_to_ns_4551_1_links[cet_ucs4_to_ns_4551_1_ct] = +{ + {0x00c5, 0x5d} /* capital letter a with ring above */, + {0x00c6, 0x5b} /* capital letter ae */, + {0x00d8, 0x5c} /* capital letter o with stroke */, + {0x00e5, 0x7d} /* small letter a with ring above */, + {0x00e6, 0x7b} /* small letter ae */, + {0x00f8, 0x7c} /* small letter o with stroke */, + {0x203e, 0x7e} /* overline */ +}; + +/* +#define cet_ucs4_to_ns_4551_1_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ns_4551_1_extra[cet_ucs4_to_ns_4551_1_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ns_4551_1 = /* defined in cet.h */ +{ + cet_cs_name_ns_4551_1, /* name of character set */ + cet_cs_alias_ns_4551_1, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ns_4551_1, /* char to UCS-4 value table */ + cet_ucs4_ofs_ns_4551_1, /* first non standard character */ + cet_ucs4_cnt_ns_4551_1, /* number of values in table */ + + cet_ucs4_to_ns_4551_1_links, /* UCS-4 to char links */ + cet_ucs4_to_ns_4551_1_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ns_4551_1_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c6, 0x00d8, 0x00c5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e6, 0x00f8, 0x00e5, 0x203e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/ns_4551_2.h b/gpsbabel/cet/ns_4551_2.h new file mode 100644 index 000000000..9b21e20e2 --- /dev/null +++ b/gpsbabel/cet/ns_4551_2.h @@ -0,0 +1,133 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "NS_4551-2" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef ns_4551_2_h +#define ns_4551_2_h + +#define cet_cs_name_ns_4551_2 "NS_4551-2" + +const char *cet_cs_alias_ns_4551_2[] = +{ + "NS_4551-2", "ISO646-NO2", "iso-ir-61", "no2", + NULL +}; + +#define cet_ucs4_ofs_ns_4551_2 35 +#define cet_ucs4_cnt_ns_4551_2 93 + +const int cet_ucs4_map_ns_4551_2[cet_ucs4_cnt_ns_4551_2] = +{ + 0x00a7, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, + 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, + 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, + 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, + 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, + 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, + 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, + 0x00c6, 0x00d8, 0x00c5, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, + 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, + 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, + 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, + 0x00e6, 0x00f8, 0x00e5, 0x007c, 0x007f +}; + +#define cet_ucs4_to_ns_4551_2_ct 8 + +const cet_ucs4_link_t cet_ucs4_to_ns_4551_2_links[cet_ucs4_to_ns_4551_2_ct] = +{ + {0x007c, 0x7e} /* line */, + {0x00a7, 0x23} /* sign */, + {0x00c5, 0x5d} /* capital letter a with ring above */, + {0x00c6, 0x5b} /* capital letter ae */, + {0x00d8, 0x5c} /* capital letter o with stroke */, + {0x00e5, 0x7d} /* small letter a with ring above */, + {0x00e6, 0x7b} /* small letter ae */, + {0x00f8, 0x7c} /* small letter o with stroke */ +}; + +/* +#define cet_ucs4_to_ns_4551_2_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_ns_4551_2_extra[cet_ucs4_to_ns_4551_2_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_ns_4551_2 = /* defined in cet.h */ +{ + cet_cs_name_ns_4551_2, /* name of character set */ + cet_cs_alias_ns_4551_2, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_ns_4551_2, /* char to UCS-4 value table */ + cet_ucs4_ofs_ns_4551_2, /* first non standard character */ + cet_ucs4_cnt_ns_4551_2, /* number of values in table */ + + cet_ucs4_to_ns_4551_2_links, /* UCS-4 to char links */ + cet_ucs4_to_ns_4551_2_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int ns_4551_2_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x00a7, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c6, 0x00d8, 0x00c5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e6, 0x00f8, 0x00e5, 0x007c, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/pt.h b/gpsbabel/cet/pt.h new file mode 100644 index 000000000..d664042c7 --- /dev/null +++ b/gpsbabel/cet/pt.h @@ -0,0 +1,128 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "PT" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef pt_h +#define pt_h + +#define cet_cs_name_pt "PT" + +const char *cet_cs_alias_pt[] = +{ + "PT", "ISO646-PT", "iso-ir-16", NULL +}; + +#define cet_ucs4_ofs_pt 64 +#define cet_ucs4_cnt_pt 64 + +const int cet_ucs4_map_pt[cet_ucs4_cnt_pt] = +{ + 0x00a7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c3, 0x00c7, 0x00d5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e3, 0x00e7, 0x00f5, 0x00b0, 0x007f +}; + +#define cet_ucs4_to_pt_ct 8 + +const cet_ucs4_link_t cet_ucs4_to_pt_links[cet_ucs4_to_pt_ct] = +{ + {0x00a7, 0x40} /* sign */, + {0x00b0, 0x7e} /* sign */, + {0x00c3, 0x5b} /* capital letter a with tilde */, + {0x00c7, 0x5c} /* capital letter c with cedilla */, + {0x00d5, 0x5d} /* capital letter o with tilde */, + {0x00e3, 0x7b} /* small letter a with tilde */, + {0x00e7, 0x7c} /* small letter c with cedilla */, + {0x00f5, 0x7d} /* small letter o with tilde */ +}; + +/* +#define cet_ucs4_to_pt_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_pt_extra[cet_ucs4_to_pt_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_pt = /* defined in cet.h */ +{ + cet_cs_name_pt, /* name of character set */ + cet_cs_alias_pt, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_pt, /* char to UCS-4 value table */ + cet_ucs4_ofs_pt, /* first non standard character */ + cet_ucs4_cnt_pt, /* number of values in table */ + + cet_ucs4_to_pt_links, /* UCS-4 to char links */ + cet_ucs4_to_pt_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int pt_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00a7, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c3, 0x00c7, 0x00d5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e3, 0x00e7, 0x00f5, 0x00b0, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/pt2.h b/gpsbabel/cet/pt2.h new file mode 100644 index 000000000..fcbb01c82 --- /dev/null +++ b/gpsbabel/cet/pt2.h @@ -0,0 +1,127 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "PT2" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef pt2_h +#define pt2_h + +#define cet_cs_name_pt2 "PT2" + +const char *cet_cs_alias_pt2[] = +{ + "PT2", "ISO646-PT2", "iso-ir-84", NULL +}; + +#define cet_ucs4_ofs_pt2 64 +#define cet_ucs4_cnt_pt2 64 + +const int cet_ucs4_map_pt2[cet_ucs4_cnt_pt2] = +{ + 0x00b4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c3, 0x00c7, 0x00d5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e3, 0x00e7, 0x00f5, 0x007e, 0x007f +}; + +#define cet_ucs4_to_pt2_ct 7 + +const cet_ucs4_link_t cet_ucs4_to_pt2_links[cet_ucs4_to_pt2_ct] = +{ + {0x00b4, 0x40} /* accent */, + {0x00c3, 0x5b} /* capital letter a with tilde */, + {0x00c7, 0x5c} /* capital letter c with cedilla */, + {0x00d5, 0x5d} /* capital letter o with tilde */, + {0x00e3, 0x7b} /* small letter a with tilde */, + {0x00e7, 0x7c} /* small letter c with cedilla */, + {0x00f5, 0x7d} /* small letter o with tilde */ +}; + +/* +#define cet_ucs4_to_pt2_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_pt2_extra[cet_ucs4_to_pt2_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_pt2 = /* defined in cet.h */ +{ + cet_cs_name_pt2, /* name of character set */ + cet_cs_alias_pt2, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_pt2, /* char to UCS-4 value table */ + cet_ucs4_ofs_pt2, /* first non standard character */ + cet_ucs4_cnt_pt2, /* number of values in table */ + + cet_ucs4_to_pt2_links, /* UCS-4 to char links */ + cet_ucs4_to_pt2_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int pt2_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00b4, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c3, 0x00c7, 0x00d5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e3, 0x00e7, 0x00f5, 0x007e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/sami.h b/gpsbabel/cet/sami.h new file mode 100644 index 000000000..4dfce1713 --- /dev/null +++ b/gpsbabel/cet/sami.h @@ -0,0 +1,157 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "sami" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef sami_h +#define sami_h + +#define cet_cs_name_sami "sami" + +const char *cet_cs_alias_sami[] = +{ + "sami", "iso-ir-158", "lap", "latin-lap", + NULL +}; + +#define cet_ucs4_ofs_sami 160 +#define cet_ucs4_cnt_sami 80 + +const int cet_ucs4_map_sami[cet_ucs4_cnt_sami] = +{ + 0x00b4, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x02bb, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x0102, 0x00c0, 0x01de, 0x01e0, 0x01e2, 0x0114, 0x00c8, 0x01e4, + 0x01e6, 0x01e8, 0x014e, 0x00d2, 0x01ea, 0x01ec, 0x01b7, 0x01ee, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x0103, 0x00e0, 0x01df, 0x01e1, 0x01e3, 0x0115, 0x00e8, 0x01e5, + 0x01e7, 0x01e9, 0x014f, 0x00f2, 0x01eb, 0x01ed, 0x0292, 0x01ef +}; + +#define cet_ucs4_to_sami_ct 34 + +const cet_ucs4_link_t cet_ucs4_to_sami_links[cet_ucs4_to_sami_ct] = +{ + {0x00b4, 0xa0} /* accent */, + {0x00c0, 0xc1} /* capital letter a with grave */, + {0x00c8, 0xc6} /* capital letter e with grave */, + {0x00d2, 0xcb} /* capital letter o with grave */, + {0x00e0, 0xe1} /* small letter a with grave */, + {0x00e8, 0xe6} /* small letter e with grave */, + {0x00f2, 0xeb} /* small letter o with grave */, + {0x0102, 0xc0} /* capital letter a with breve */, + {0x0103, 0xe0} /* small letter a with breve */, + {0x0114, 0xc5} /* capital letter e with breve */, + {0x0115, 0xe5} /* small letter e with breve */, + {0x014e, 0xca} /* capital letter o with breve */, + {0x014f, 0xea} /* small letter o with breve */, + {0x01b7, 0xce} /* capital letter ezh */, + {0x01de, 0xc2} /* capital letter a with diaeresis and macron */, + {0x01df, 0xe2} /* small letter a with diaeresis and macron */, + {0x01e0, 0xc3} /* capital letter a with dot above and macron */, + {0x01e1, 0xe3} /* small letter a with dot above and macron */, + {0x01e2, 0xc4} /* capital letter ae with macron */, + {0x01e3, 0xe4} /* small letter ae with macron */, + {0x01e4, 0xc7} /* capital letter g with stroke */, + {0x01e5, 0xe7} /* small letter g with stroke */, + {0x01e6, 0xc8} /* capital letter g with caron */, + {0x01e7, 0xe8} /* small letter g with caron */, + {0x01e8, 0xc9} /* capital letter k with caron */, + {0x01e9, 0xe9} /* small letter k with caron */, + {0x01ea, 0xcc} /* capital letter o with ogonek */, + {0x01eb, 0xec} /* small letter o with ogonek */, + {0x01ec, 0xcd} /* capital letter o with ogonek and macron */, + {0x01ed, 0xed} /* small letter o with ogonek and macron */, + {0x01ee, 0xcf} /* capital letter ezh with caron */, + {0x01ef, 0xef} /* small letter ezh with caron */, + {0x0292, 0xee} /* small letter ezh (iso-ir-158 142) */, + {0x02bb, 0xb0} /* letter left half ring */ +}; + +/* +#define cet_ucs4_to_sami_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_sami_extra[cet_ucs4_to_sami_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_sami = /* defined in cet.h */ +{ + cet_cs_name_sami, /* name of character set */ + cet_cs_alias_sami, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_sami, /* char to UCS-4 value table */ + cet_ucs4_ofs_sami, /* first non standard character */ + cet_ucs4_cnt_sami, /* number of values in table */ + + cet_ucs4_to_sami_links, /* UCS-4 to char links */ + cet_ucs4_to_sami_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int sami_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, + 0x0088, 0x0089, 0x008a, 0x008b, 0x008c, 0x008d, 0x008e, 0x008f, + 0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, + 0x0098, 0x0099, 0x009a, 0x009b, 0x009c, 0x009d, 0x009e, 0x009f, + 0x00b4, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x02bb, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x0102, 0x00c0, 0x01de, 0x01e0, 0x01e2, 0x0114, 0x00c8, 0x01e4, + 0x01e6, 0x01e8, 0x014e, 0x00d2, 0x01ea, 0x01ec, 0x01b7, 0x01ee, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + 0x0103, 0x00e0, 0x01df, 0x01e1, 0x01e3, 0x0115, 0x00e8, 0x01e5, + 0x01e7, 0x01e9, 0x014f, 0x00f2, 0x01eb, 0x01ed, 0x0292, 0x01ef, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/sen_850200_b.h b/gpsbabel/cet/sen_850200_b.h new file mode 100644 index 000000000..0c3123199 --- /dev/null +++ b/gpsbabel/cet/sen_850200_b.h @@ -0,0 +1,133 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "SEN_850200_B" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef sen_850200_b_h +#define sen_850200_b_h + +#define cet_cs_name_sen_850200_b "SEN_850200_B" + +const char *cet_cs_alias_sen_850200_b[] = +{ + "SEN_850200_B", "FI", "ISO646-FI", "ISO646-SE", + "iso-ir-10", "se", "SS636127", NULL +}; + +#define cet_ucs4_ofs_sen_850200_b 36 +#define cet_ucs4_cnt_sen_850200_b 92 + +const int cet_ucs4_map_sen_850200_b[cet_ucs4_cnt_sen_850200_b] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00c4, + 0x00d6, 0x00c5, 0x005e, 0x005f, 0x0060, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00e4, + 0x00f6, 0x00e5, 0x203e, 0x007f +}; + +#define cet_ucs4_to_sen_850200_b_ct 8 + +const cet_ucs4_link_t cet_ucs4_to_sen_850200_b_links[cet_ucs4_to_sen_850200_b_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x00c4, 0x5b} /* capital letter a with diaeresis */, + {0x00c5, 0x5d} /* capital letter a with ring above */, + {0x00d6, 0x5c} /* capital letter o with diaeresis */, + {0x00e4, 0x7b} /* small letter a with diaeresis */, + {0x00e5, 0x7d} /* small letter a with ring above */, + {0x00f6, 0x7c} /* small letter o with diaeresis */, + {0x203e, 0x7e} /* overline */ +}; + +/* +#define cet_ucs4_to_sen_850200_b_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_sen_850200_b_extra[cet_ucs4_to_sen_850200_b_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_sen_850200_b = /* defined in cet.h */ +{ + cet_cs_name_sen_850200_b, /* name of character set */ + cet_cs_alias_sen_850200_b, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_sen_850200_b, /* char to UCS-4 value table */ + cet_ucs4_ofs_sen_850200_b, /* first non standard character */ + cet_ucs4_cnt_sen_850200_b, /* number of values in table */ + + cet_ucs4_to_sen_850200_b_links, /* UCS-4 to char links */ + cet_ucs4_to_sen_850200_b_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int sen_850200_b_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c4, 0x00d6, 0x00c5, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e4, 0x00f6, 0x00e5, 0x203e, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/sen_850200_c.h b/gpsbabel/cet/sen_850200_c.h new file mode 100644 index 000000000..606157b0b --- /dev/null +++ b/gpsbabel/cet/sen_850200_c.h @@ -0,0 +1,136 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "SEN_850200_C" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef sen_850200_c_h +#define sen_850200_c_h + +#define cet_cs_name_sen_850200_c "SEN_850200_C" + +const char *cet_cs_alias_sen_850200_c[] = +{ + "SEN_850200_C", "ISO646-SE2", "iso-ir-11", "se2", + NULL +}; + +#define cet_ucs4_ofs_sen_850200_c 36 +#define cet_ucs4_cnt_sen_850200_c 92 + +const int cet_ucs4_map_sen_850200_c[cet_ucs4_cnt_sen_850200_c] = +{ + 0x00a4, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002a, 0x002b, + 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, 0x0032, 0x0033, + 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003a, 0x003b, + 0x003c, 0x003d, 0x003e, 0x003f, 0x00c9, 0x0041, 0x0042, 0x0043, + 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004a, 0x004b, + 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, 0x0052, 0x0053, + 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005a, 0x00c4, + 0x00d6, 0x00c5, 0x00dc, 0x005f, 0x00e9, 0x0061, 0x0062, 0x0063, + 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006a, 0x006b, + 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, 0x0072, 0x0073, + 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007a, 0x00e4, + 0x00f6, 0x00e5, 0x00fc, 0x007f +}; + +#define cet_ucs4_to_sen_850200_c_ct 11 + +const cet_ucs4_link_t cet_ucs4_to_sen_850200_c_links[cet_ucs4_to_sen_850200_c_ct] = +{ + {0x00a4, 0x24} /* sign */, + {0x00c4, 0x5b} /* capital letter a with diaeresis */, + {0x00c5, 0x5d} /* capital letter a with ring above */, + {0x00c9, 0x40} /* capital letter e with acute */, + {0x00d6, 0x5c} /* capital letter o with diaeresis */, + {0x00dc, 0x5e} /* capital letter u with diaeresis */, + {0x00e4, 0x7b} /* small letter a with diaeresis */, + {0x00e5, 0x7d} /* small letter a with ring above */, + {0x00e9, 0x60} /* small letter e with acute */, + {0x00f6, 0x7c} /* small letter o with diaeresis */, + {0x00fc, 0x7e} /* small letter u with diaeresis */ +}; + +/* +#define cet_ucs4_to_sen_850200_c_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_sen_850200_c_extra[cet_ucs4_to_sen_850200_c_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_sen_850200_c = /* defined in cet.h */ +{ + cet_cs_name_sen_850200_c, /* name of character set */ + cet_cs_alias_sen_850200_c, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_sen_850200_c, /* char to UCS-4 value table */ + cet_ucs4_ofs_sen_850200_c, /* first non standard character */ + cet_ucs4_cnt_sen_850200_c, /* number of values in table */ + + cet_ucs4_to_sen_850200_c_links, /* UCS-4 to char links */ + cet_ucs4_to_sen_850200_c_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int sen_850200_c_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x00a4, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x00c9, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x00c4, 0x00d6, 0x00c5, 0x00dc, 0x005f, + 0x00e9, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x00e4, 0x00f6, 0x00e5, 0x00fc, 0x007f, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1 +}; +*/ + +#endif diff --git a/gpsbabel/cet/tcvn.h b/gpsbabel/cet/tcvn.h new file mode 100644 index 000000000..894c0b025 --- /dev/null +++ b/gpsbabel/cet/tcvn.h @@ -0,0 +1,278 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "TCVN" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef tcvn_h +#define tcvn_h + +#define cet_cs_name_tcvn "TCVN" + +const char *cet_cs_alias_tcvn[] = +{ + "TCVN", "TCVN5712-1", "TCVN5712-1:1993", "TCVN-5712", + NULL +}; + +#define cet_ucs4_ofs_tcvn 1 +#define cet_ucs4_cnt_tcvn 255 + +const int cet_ucs4_map_tcvn[cet_ucs4_cnt_tcvn] = +{ + 0x00da, 0x1ee4, 0x0003, 0x1eea, 0x1eec, 0x1eee, 0x0007, 0x0008, + 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, + 0x1ee8, 0x1ef0, 0x1ef2, 0x1ef6, 0x1ef8, 0x00dd, 0x1ef4, 0x0018, + 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, 0x0020, + 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, + 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, + 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, + 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, + 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, + 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, + 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, + 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, + 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, + 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, + 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, + 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x00c0, + 0x1ea2, 0x00c3, 0x00c1, 0x1ea0, 0x1eb6, 0x1eac, 0x00c8, 0x1eba, + 0x1ebc, 0x00c9, 0x1eb8, 0x1ec6, 0x00cc, 0x1ec8, 0x0128, 0x00cd, + 0x1eca, 0x00d2, 0x1ece, 0x00d5, 0x00d3, 0x1ecc, 0x1ed8, 0x1edc, + 0x1ede, 0x1ee0, 0x1eda, 0x1ee2, 0x00d9, 0x1ee6, 0x0168, -1, + 0x0102, 0x00c2, 0x00ca, 0x00d4, 0x01a0, 0x01af, 0x0110, 0x0103, + 0x00e2, 0x00ea, 0x00f4, 0x01a1, 0x01b0, 0x0111, 0x1eb0, -1, + -1, -1, -1, -1, 0x00e0, 0x1ea3, 0x00e3, 0x00e1, + 0x1ea1, 0x1eb2, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eaf, 0x1eb4, 0x1eae, + 0x1ea6, 0x1ea8, 0x1eaa, 0x1ea4, 0x1ec0, 0x1eb7, 0x1ea7, 0x1ea9, + 0x1eab, 0x1ea5, 0x1ead, 0x00e8, 0x1ec2, 0x1ebb, 0x1ebd, 0x00e9, + 0x1eb9, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ebf, 0x1ec7, 0x00ec, 0x1ec9, + 0x1ec4, 0x1ebe, 0x1ed2, 0x0129, 0x00ed, 0x1ecb, 0x00f2, 0x1ed4, + 0x1ecf, 0x00f5, 0x00f3, 0x1ecd, 0x1ed3, 0x1ed5, 0x1ed7, 0x1ed1, + 0x1ed9, 0x1edd, 0x1edf, 0x1ee1, 0x1edb, 0x1ee3, 0x00f9, 0x1ed6, + 0x1ee7, 0x0169, 0x00fa, 0x1ee5, 0x1eeb, 0x1eed, 0x1eef, 0x1ee9, + 0x1ef1, 0x1ef3, 0x1ef7, 0x1ef9, 0x00fd, 0x1ef5, 0x1ed0 +}; + +#define cet_ucs4_to_tcvn_ct 133 + +const cet_ucs4_link_t cet_ucs4_to_tcvn_links[cet_ucs4_to_tcvn_ct] = +{ + {0x00c0, 0x80} /* capital letter a with grave */, + {0x00c1, 0x83} /* capital letter a with acute */, + {0x00c2, 0xa2} /* capital letter a with circumflex */, + {0x00c3, 0x82} /* capital letter a with tilde */, + {0x00c8, 0x87} /* capital letter e with grave */, + {0x00c9, 0x8a} /* capital letter e with acute */, + {0x00ca, 0xa3} /* capital letter e with circumflex */, + {0x00cc, 0x8d} /* capital letter i with grave */, + {0x00cd, 0x90} /* capital letter i with acute */, + {0x00d2, 0x92} /* capital letter o with grave */, + {0x00d3, 0x95} /* capital letter o with acute */, + {0x00d4, 0xa4} /* capital letter o with circumflex */, + {0x00d5, 0x94} /* capital letter o with tilde */, + {0x00d9, 0x9d} /* capital letter u with grave */, + {0x00da, 0x01} /* capital letter u with acute */, + {0x00dd, 0x16} /* capital letter y with acute */, + {0x00e0, 0xb5} /* small letter a with grave */, + {0x00e1, 0xb8} /* small letter a with acute */, + {0x00e2, 0xa9} /* small letter a with circumflex */, + {0x00e3, 0xb7} /* small letter a with tilde */, + {0x00e8, 0xcc} /* small letter e with grave */, + {0x00e9, 0xd0} /* small letter e with acute */, + {0x00ea, 0xaa} /* small letter e with circumflex */, + {0x00ec, 0xd7} /* small letter i with grave */, + {0x00ed, 0xdd} /* small letter i with acute */, + {0x00f2, 0xdf} /* small letter o with grave */, + {0x00f3, 0xe3} /* small letter o with acute */, + {0x00f4, 0xab} /* small letter o with circumflex */, + {0x00f5, 0xe2} /* small letter o with tilde */, + {0x00f9, 0xef} /* small letter u with grave */, + {0x00fa, 0xf3} /* small letter u with acute */, + {0x0102, 0xa1} /* capital letter a with breve */, + {0x0103, 0xa8} /* small letter a with breve */, + {0x0110, 0xa7} /* capital letter d with stroke */, + {0x0111, 0xae} /* small letter d with stroke */, + {0x0128, 0x8f} /* capital letter i with tilde */, + {0x0129, 0xdc} /* small letter i with tilde */, + {0x0168, 0x9f} /* capital letter u with tilde */, + {0x0169, 0xf2} /* small letter u with tilde */, + {0x01a0, 0xa5} /* capital letter o with horn */, + {0x01a1, 0xac} /* small letter o with horn */, + {0x01af, 0xa6} /* capital letter u with horn */, + {0x01b0, 0xad} /* small letter u with horn */, + {0x1ea0, 0x84} /* capital letter a with dot below */, + {0x1ea1, 0xb9} /* small letter a with dot below */, + {0x1ea2, 0x81} /* capital letter a with hook above */, + {0x1ea3, 0xb6} /* small letter a with hook above */, + {0x1ea4, 0xc4} /* capital letter a with circumflex and acute */, + {0x1ea5, 0xca} /* small letter a with circumflex and acute */, + {0x1ea6, 0xc1} /* capital letter a with circumflex and grave */, + {0x1ea7, 0xc7} /* small letter a with circumflex and grave */, + {0x1ea8, 0xc2} /* capital letter a with circumflex and hook above */, + {0x1ea9, 0xc8} /* small letter a with circumflex and hook above */, + {0x1eaa, 0xc3} /* capital letter a with circumflex and tilde */, + {0x1eab, 0xc9} /* small letter a with circumflex and tilde */, + {0x1eac, 0x86} /* latine a accent circonflexe et point souscrit */, + {0x1ead, 0xcb} /* latine a accent circonflexe et point souscrit */, + {0x1eae, 0xc0} /* capital letter a with breve and acute */, + {0x1eaf, 0xbe} /* small letter a with breve and acute */, + {0x1eb0, 0xaf} /* capital letter a with breve and grave */, + {0x1eb1, 0xbb} /* small letter a with breve and grave */, + {0x1eb2, 0xba} /* capital letter a with breve and hook above */, + {0x1eb3, 0xbc} /* small letter a with breve and hook above */, + {0x1eb4, 0xbf} /* capital letter a with breve and tilde */, + {0x1eb5, 0xbd} /* small letter a with breve and tilde */, + {0x1eb6, 0x85} /* latine a brève et point souscrit */, + {0x1eb7, 0xc6} /* latine a brève et point souscrit */, + {0x1eb8, 0x8b} /* capital letter e with dot below */, + {0x1eb9, 0xd1} /* small letter e with dot below */, + {0x1eba, 0x88} /* capital letter e with hook above */, + {0x1ebb, 0xce} /* small letter e with hook above */, + {0x1ebc, 0x89} /* capital letter e with tilde */, + {0x1ebd, 0xcf} /* small letter e with tilde */, + {0x1ebe, 0xda} /* capital letter e with circumflex and acute */, + {0x1ebf, 0xd5} /* small letter e with circumflex and acute */, + {0x1ec0, 0xc5} /* capital letter e with circumflex and grave */, + {0x1ec1, 0xd2} /* small letter e with circumflex and grave */, + {0x1ec2, 0xcd} /* capital letter e with circumflex and hook above */, + {0x1ec3, 0xd3} /* small letter e with circumflex and hook above */, + {0x1ec4, 0xd9} /* capital letter e with circumflex and tilde */, + {0x1ec5, 0xd4} /* small letter e with circumflex and tilde */, + {0x1ec6, 0x8c} /* latine e accent circonflexe et point souscrit */, + {0x1ec7, 0xd6} /* latine e accent circonflexe et point souscrit */, + {0x1ec8, 0x8e} /* capital letter i with hook above */, + {0x1ec9, 0xd8} /* small letter i with hook above */, + {0x1eca, 0x91} /* capital letter i with dot below */, + {0x1ecb, 0xde} /* small letter i with dot below */, + {0x1ecc, 0x96} /* capital letter o with dot below */, + {0x1ecd, 0xe4} /* small letter o with dot below */, + {0x1ece, 0x93} /* capital letter o with hook above */, + {0x1ecf, 0xe1} /* small letter o with hook above */, + {0x1ed0, 0xff} /* capital letter o with circumflex and acute */, + {0x1ed1, 0xe8} /* small letter o with circumflex and acute */, + {0x1ed2, 0xdb} /* capital letter o with circumflex and grave */, + {0x1ed3, 0xe5} /* small letter o with circumflex and grave */, + {0x1ed4, 0xe0} /* capital letter o with circumflex and hook above */, + {0x1ed5, 0xe6} /* small letter o with circumflex and hook above */, + {0x1ed6, 0xf0} /* capital letter o with circumflex and tilde */, + {0x1ed7, 0xe7} /* small letter o with circumflex and tilde */, + {0x1ed8, 0x97} /* latine o accent circonflexe et point souscrit */, + {0x1ed9, 0xe9} /* latine o accent circonflexe et point souscrit */, + {0x1eda, 0x9b} /* capital letter o with horn and acute */, + {0x1edb, 0xed} /* small letter o with horn and acute */, + {0x1edc, 0x98} /* capital letter o with horn and grave */, + {0x1edd, 0xea} /* small letter o with horn and grave */, + {0x1ede, 0x99} /* capital letter o with horn and hook above */, + {0x1edf, 0xeb} /* small letter o with horn and hook above */, + {0x1ee0, 0x9a} /* capital letter o with horn and tilde */, + {0x1ee1, 0xec} /* small letter o with horn and tilde */, + {0x1ee2, 0x9c} /* latine o cornu point souscrit */, + {0x1ee3, 0xee} /* latine o cornu point souscrit */, + {0x1ee4, 0x02} /* capital letter u with dot below */, + {0x1ee5, 0xf4} /* small letter u with dot below */, + {0x1ee6, 0x9e} /* capital letter u with hook above */, + {0x1ee7, 0xf1} /* small letter u with hook above */, + {0x1ee8, 0x11} /* capital letter u with horn and acute */, + {0x1ee9, 0xf8} /* small letter u with horn and acute */, + {0x1eea, 0x04} /* capital letter u with horn and grave */, + {0x1eeb, 0xf5} /* small letter u with horn and grave */, + {0x1eec, 0x05} /* capital letter u with horn and hook above */, + {0x1eed, 0xf6} /* small letter u with horn and hook above */, + {0x1eee, 0x06} /* capital letter u with horn and tilde */, + {0x1eef, 0xf7} /* small letter u with horn and tilde */, + {0x1ef0, 0x12} /* latine u cornu point souscrit */, + {0x1ef1, 0xf9} /* latine u cornu point souscrit */, + {0x1ef2, 0x13} /* capital letter y with grave */, + {0x1ef3, 0xfa} /* small letter y with grave */, + {0x1ef4, 0x17} /* capital letter y with dot below */, + {0x1ef5, 0xfe} /* small letter y with dot below */, + {0x1ef6, 0x14} /* capital letter y with hook above */, + {0x1ef7, 0xfb} /* small letter y with hook above */, + {0x1ef8, 0x15} /* capital letter y with tilde */, + {0x1ef9, 0xfc} /* small letter y with tilde */ +}; + +/* +#define cet_ucs4_to_tcvn_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_tcvn_extra[cet_ucs4_to_tcvn_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_tcvn = /* defined in cet.h */ +{ + cet_cs_name_tcvn, /* name of character set */ + cet_cs_alias_tcvn, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_tcvn, /* char to UCS-4 value table */ + cet_ucs4_ofs_tcvn, /* first non standard character */ + cet_ucs4_cnt_tcvn, /* number of values in table */ + + cet_ucs4_to_tcvn_links, /* UCS-4 to char links */ + cet_ucs4_to_tcvn_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int tcvn_ucs4_full_map[] = +{ + 0x0000, 0x00da, 0x1ee4, 0x0003, 0x1eea, 0x1eec, 0x1eee, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x1ee8, 0x1ef0, 0x1ef2, 0x1ef6, 0x1ef8, 0x00dd, 0x1ef4, + 0x0018, 0x0019, 0x001a, 0x001b, 0x001c, 0x001d, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c0, 0x1ea2, 0x00c3, 0x00c1, 0x1ea0, 0x1eb6, 0x1eac, 0x00c8, + 0x1eba, 0x1ebc, 0x00c9, 0x1eb8, 0x1ec6, 0x00cc, 0x1ec8, 0x0128, + 0x00cd, 0x1eca, 0x00d2, 0x1ece, 0x00d5, 0x00d3, 0x1ecc, 0x1ed8, + 0x1edc, 0x1ede, 0x1ee0, 0x1eda, 0x1ee2, 0x00d9, 0x1ee6, 0x0168, + -1, 0x0102, 0x00c2, 0x00ca, 0x00d4, 0x01a0, 0x01af, 0x0110, + 0x0103, 0x00e2, 0x00ea, 0x00f4, 0x01a1, 0x01b0, 0x0111, 0x1eb0, + -1, -1, -1, -1, -1, 0x00e0, 0x1ea3, 0x00e3, + 0x00e1, 0x1ea1, 0x1eb2, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eaf, 0x1eb4, + 0x1eae, 0x1ea6, 0x1ea8, 0x1eaa, 0x1ea4, 0x1ec0, 0x1eb7, 0x1ea7, + 0x1ea9, 0x1eab, 0x1ea5, 0x1ead, 0x00e8, 0x1ec2, 0x1ebb, 0x1ebd, + 0x00e9, 0x1eb9, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ebf, 0x1ec7, 0x00ec, + 0x1ec9, 0x1ec4, 0x1ebe, 0x1ed2, 0x0129, 0x00ed, 0x1ecb, 0x00f2, + 0x1ed4, 0x1ecf, 0x00f5, 0x00f3, 0x1ecd, 0x1ed3, 0x1ed5, 0x1ed7, + 0x1ed1, 0x1ed9, 0x1edd, 0x1edf, 0x1ee1, 0x1edb, 0x1ee3, 0x00f9, + 0x1ed6, 0x1ee7, 0x0169, 0x00fa, 0x1ee5, 0x1eeb, 0x1eed, 0x1eef, + 0x1ee9, 0x1ef1, 0x1ef3, 0x1ef7, 0x1ef9, 0x00fd, 0x1ef5, 0x1ed0 +}; +*/ + +#endif diff --git a/gpsbabel/cet/viscii.h b/gpsbabel/cet/viscii.h new file mode 100644 index 000000000..43dfbe3eb --- /dev/null +++ b/gpsbabel/cet/viscii.h @@ -0,0 +1,247 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "VISCII" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef viscii_h +#define viscii_h + +#define cet_cs_name_viscii "VISCII" + +const char *cet_cs_alias_viscii[] = +{ + "VISCII", "csVISCII", "VISCII1.1-1", NULL +}; + +#define cet_ucs4_ofs_viscii 2 +#define cet_ucs4_cnt_viscii 254 + +const int cet_ucs4_map_viscii[cet_ucs4_cnt_viscii] = +{ + 0x1eb2, 0x0003, 0x0004, 0x1eb4, 0x1eaa, 0x0007, 0x0008, 0x0009, + 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 0x0010, 0x0011, + 0x0012, 0x0013, 0x1ef6, 0x0015, 0x0016, 0x0017, 0x0018, 0x1ef8, + 0x001a, 0x001b, 0x001c, 0x001d, 0x1ef4, 0x001f, 0x0020, 0x0021, + 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, + 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, + 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, + 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, + 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, + 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, + 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, + 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, + 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, + 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, + 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, + 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x1ea0, 0x1eae, + 0x1eb0, 0x1eb6, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eac, 0x1ebc, 0x1eb8, + 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ed0, 0x1ed2, 0x1ed4, + 0x1ed6, 0x1ed8, 0x1ee2, 0x1eda, 0x1edc, 0x1ede, 0x1eca, 0x1ece, + 0x1ecc, 0x1ec8, 0x1ee6, 0x0168, 0x1ee4, 0x1ef2, 0x00d5, 0x1eaf, + 0x1eb1, 0x1eb7, 0x1ea5, 0x1ea7, 0x1ea9, 0x1ead, 0x1ebd, 0x1eb9, + 0x1ebf, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ed1, 0x1ed3, 0x1ed5, + 0x1ed7, 0x1ee0, 0x01a0, 0x1ed9, 0x1edd, 0x1edf, 0x1ecb, 0x1ef0, + 0x1ee8, 0x1eea, 0x1eec, 0x01a1, 0x1edb, 0x01af, 0x00c0, 0x00c1, + 0x00c2, 0x00c3, 0x1ea2, 0x0102, 0x1eb3, 0x1eb5, 0x00c8, 0x00c9, + 0x00ca, 0x1eba, 0x00cc, 0x00cd, 0x0128, 0x1ef3, 0x0110, 0x1ee9, + 0x00d2, 0x00d3, 0x00d4, 0x1ea1, 0x1ef7, 0x1eeb, 0x1eed, 0x00d9, + 0x00da, 0x1ef9, 0x1ef5, 0x00dd, 0x1ee1, 0x01b0, 0x00e0, 0x00e1, + 0x00e2, 0x00e3, 0x1ea3, 0x0103, 0x1eef, 0x1eab, 0x00e8, 0x00e9, + 0x00ea, 0x1ebb, 0x00ec, 0x00ed, 0x0129, 0x1ec9, 0x0111, 0x1ef1, + 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x1ecf, 0x1ecd, 0x1ee5, 0x00f9, + 0x00fa, 0x0169, 0x1ee7, 0x00fd, 0x1ee3, 0x1eee +}; + +#define cet_ucs4_to_viscii_ct 103 + +const cet_ucs4_link_t cet_ucs4_to_viscii_links[cet_ucs4_to_viscii_ct] = +{ + {0x00d5, 0xa0} /* capital letter o with tilde */, + {0x0102, 0xc5} /* capital letter a with breve */, + {0x0103, 0xe5} /* small letter a with breve */, + {0x0110, 0xd0} /* capital letter d with stroke */, + {0x0111, 0xf0} /* small letter d with stroke */, + {0x0128, 0xce} /* capital letter i with tilde */, + {0x0129, 0xee} /* small letter i with tilde */, + {0x0168, 0x9d} /* capital letter u with tilde */, + {0x0169, 0xfb} /* small letter u with tilde */, + {0x01a0, 0xb4} /* capital letter o with horn */, + {0x01a1, 0xbd} /* small letter o with horn */, + {0x01af, 0xbf} /* capital letter u with horn */, + {0x01b0, 0xdf} /* small letter u with horn */, + {0x1ea0, 0x80} /* capital letter a with dot below */, + {0x1ea1, 0xd5} /* small letter a with dot below */, + {0x1ea2, 0xc4} /* capital letter a with hook above */, + {0x1ea3, 0xe4} /* small letter a with hook above */, + {0x1ea4, 0x84} /* capital letter a with circumflex and acute */, + {0x1ea5, 0xa4} /* small letter a with circumflex and acute */, + {0x1ea6, 0x85} /* capital letter a with circumflex and grave */, + {0x1ea7, 0xa5} /* small letter a with circumflex and grave */, + {0x1ea8, 0x86} /* capital letter a with circumflex and hook above */, + {0x1ea9, 0xa6} /* small letter a with circumflex and hook above */, + {0x1eaa, 0x06} /* capital letter a with circumflex and tilde */, + {0x1eab, 0xe7} /* small letter a with circumflex and tilde */, + {0x1eac, 0x87} /* latine a accent circonflexe et point souscrit */, + {0x1ead, 0xa7} /* latine a accent circonflexe et point souscrit */, + {0x1eae, 0x81} /* capital letter a with breve and acute */, + {0x1eaf, 0xa1} /* small letter a with breve and acute */, + {0x1eb0, 0x82} /* capital letter a with breve and grave */, + {0x1eb1, 0xa2} /* small letter a with breve and grave */, + {0x1eb2, 0x02} /* capital letter a with breve and hook above */, + {0x1eb3, 0xc6} /* small letter a with breve and hook above */, + {0x1eb4, 0x05} /* capital letter a with breve and tilde */, + {0x1eb5, 0xc7} /* small letter a with breve and tilde */, + {0x1eb6, 0x83} /* latine a brève et point souscrit */, + {0x1eb7, 0xa3} /* latine a brève et point souscrit */, + {0x1eb8, 0x89} /* capital letter e with dot below */, + {0x1eb9, 0xa9} /* small letter e with dot below */, + {0x1eba, 0xcb} /* capital letter e with hook above */, + {0x1ebb, 0xeb} /* small letter e with hook above */, + {0x1ebc, 0x88} /* capital letter e with tilde */, + {0x1ebd, 0xa8} /* small letter e with tilde */, + {0x1ebe, 0x8a} /* capital letter e with circumflex and acute */, + {0x1ebf, 0xaa} /* small letter e with circumflex and acute */, + {0x1ec0, 0x8b} /* capital letter e with circumflex and grave */, + {0x1ec1, 0xab} /* small letter e with circumflex and grave */, + {0x1ec2, 0x8c} /* capital letter e with circumflex and hook above */, + {0x1ec3, 0xac} /* small letter e with circumflex and hook above */, + {0x1ec4, 0x8d} /* capital letter e with circumflex and tilde */, + {0x1ec5, 0xad} /* small letter e with circumflex and tilde */, + {0x1ec6, 0x8e} /* latine e accent circonflexe et point souscrit */, + {0x1ec7, 0xae} /* latine e accent circonflexe et point souscrit */, + {0x1ec8, 0x9b} /* capital letter i with hook above */, + {0x1ec9, 0xef} /* small letter i with hook above */, + {0x1eca, 0x98} /* capital letter i with dot below */, + {0x1ecb, 0xb8} /* small letter i with dot below */, + {0x1ecc, 0x9a} /* capital letter o with dot below */, + {0x1ecd, 0xf7} /* small letter o with dot below */, + {0x1ece, 0x99} /* capital letter o with hook above */, + {0x1ecf, 0xf6} /* small letter o with hook above */, + {0x1ed0, 0x8f} /* capital letter o with circumflex and acute */, + {0x1ed1, 0xaf} /* small letter o with circumflex and acute */, + {0x1ed2, 0x90} /* capital letter o with circumflex and grave */, + {0x1ed3, 0xb0} /* small letter o with circumflex and grave */, + {0x1ed4, 0x91} /* capital letter o with circumflex and hook above */, + {0x1ed5, 0xb1} /* small letter o with circumflex and hook above */, + {0x1ed6, 0x92} /* capital letter o with circumflex and tilde */, + {0x1ed7, 0xb2} /* small letter o with circumflex and tilde */, + {0x1ed8, 0x93} /* latine o accent circonflexe et point souscrit */, + {0x1ed9, 0xb5} /* latine o accent circonflexe et point souscrit */, + {0x1eda, 0x95} /* capital letter o with horn and acute */, + {0x1edb, 0xbe} /* small letter o with horn and acute */, + {0x1edc, 0x96} /* capital letter o with horn and grave */, + {0x1edd, 0xb6} /* small letter o with horn and grave */, + {0x1ede, 0x97} /* capital letter o with horn and hook above */, + {0x1edf, 0xb7} /* small letter o with horn and hook above */, + {0x1ee0, 0xb3} /* capital letter o with horn and tilde */, + {0x1ee1, 0xde} /* small letter o with horn and tilde */, + {0x1ee2, 0x94} /* latine o cornu point souscrit */, + {0x1ee3, 0xfe} /* latine o cornu point souscrit */, + {0x1ee4, 0x9e} /* capital letter u with dot below */, + {0x1ee5, 0xf8} /* small letter u with dot below */, + {0x1ee6, 0x9c} /* capital letter u with hook above */, + {0x1ee7, 0xfc} /* small letter u with hook above */, + {0x1ee8, 0xba} /* capital letter u with horn and acute */, + {0x1ee9, 0xd1} /* small letter u with horn and acute */, + {0x1eea, 0xbb} /* capital letter u with horn and grave */, + {0x1eeb, 0xd7} /* small letter u with horn and grave */, + {0x1eec, 0xbc} /* capital letter u with horn and hook above */, + {0x1eed, 0xd8} /* small letter u with horn and hook above */, + {0x1eee, 0xff} /* capital letter u with horn and tilde */, + {0x1eef, 0xe6} /* small letter u with horn and tilde */, + {0x1ef0, 0xb9} /* latine u cornu point souscrit */, + {0x1ef1, 0xf1} /* latine u cornu point souscrit */, + {0x1ef2, 0x9f} /* capital letter y with grave */, + {0x1ef3, 0xcf} /* small letter y with grave */, + {0x1ef4, 0x1e} /* capital letter y with dot below */, + {0x1ef5, 0xdc} /* small letter y with dot below */, + {0x1ef6, 0x14} /* capital letter y with hook above */, + {0x1ef7, 0xd6} /* small letter y with hook above */, + {0x1ef8, 0x19} /* capital letter y with tilde */, + {0x1ef9, 0xdb} /* small letter y with tilde */ +}; + +/* +#define cet_ucs4_to_viscii_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_viscii_extra[cet_ucs4_to_viscii_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_viscii = /* defined in cet.h */ +{ + cet_cs_name_viscii, /* name of character set */ + cet_cs_alias_viscii, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_viscii, /* char to UCS-4 value table */ + cet_ucs4_ofs_viscii, /* first non standard character */ + cet_ucs4_cnt_viscii, /* number of values in table */ + + cet_ucs4_to_viscii_links, /* UCS-4 to char links */ + cet_ucs4_to_viscii_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int viscii_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x1eb2, 0x0003, 0x0004, 0x1eb4, 0x1eaa, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x0010, 0x0011, 0x0012, 0x0013, 0x1ef6, 0x0015, 0x0016, 0x0017, + 0x0018, 0x1ef8, 0x001a, 0x001b, 0x001c, 0x001d, 0x1ef4, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x1ea0, 0x1eae, 0x1eb0, 0x1eb6, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eac, + 0x1ebc, 0x1eb8, 0x1ebe, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ed0, + 0x1ed2, 0x1ed4, 0x1ed6, 0x1ed8, 0x1ee2, 0x1eda, 0x1edc, 0x1ede, + 0x1eca, 0x1ece, 0x1ecc, 0x1ec8, 0x1ee6, 0x0168, 0x1ee4, 0x1ef2, + 0x00d5, 0x1eaf, 0x1eb1, 0x1eb7, 0x1ea5, 0x1ea7, 0x1ea9, 0x1ead, + 0x1ebd, 0x1eb9, 0x1ebf, 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ed1, + 0x1ed3, 0x1ed5, 0x1ed7, 0x1ee0, 0x01a0, 0x1ed9, 0x1edd, 0x1edf, + 0x1ecb, 0x1ef0, 0x1ee8, 0x1eea, 0x1eec, 0x01a1, 0x1edb, 0x01af, + 0x00c0, 0x00c1, 0x00c2, 0x00c3, 0x1ea2, 0x0102, 0x1eb3, 0x1eb5, + 0x00c8, 0x00c9, 0x00ca, 0x1eba, 0x00cc, 0x00cd, 0x0128, 0x1ef3, + 0x0110, 0x1ee9, 0x00d2, 0x00d3, 0x00d4, 0x1ea1, 0x1ef7, 0x1eeb, + 0x1eed, 0x00d9, 0x00da, 0x1ef9, 0x1ef5, 0x00dd, 0x1ee1, 0x01b0, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x1ea3, 0x0103, 0x1eef, 0x1eab, + 0x00e8, 0x00e9, 0x00ea, 0x1ebb, 0x00ec, 0x00ed, 0x0129, 0x1ec9, + 0x0111, 0x1ef1, 0x00f2, 0x00f3, 0x00f4, 0x00f5, 0x1ecf, 0x1ecd, + 0x1ee5, 0x00f9, 0x00fa, 0x0169, 0x1ee7, 0x00fd, 0x1ee3, 0x1eee +}; +*/ + +#endif diff --git a/gpsbabel/cet/vps.h b/gpsbabel/cet/vps.h new file mode 100644 index 000000000..73bf86ee4 --- /dev/null +++ b/gpsbabel/cet/vps.h @@ -0,0 +1,255 @@ +/* + + Data automatically generated from recode output: + + 'recode -lf "VPS" 2>/dev/null' + + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA + +*/ + +#ifndef vps_h +#define vps_h + +#define cet_cs_name_vps "VPS" + +const char *cet_cs_alias_vps[] = +{ + "VPS", NULL +}; + +#define cet_ucs4_ofs_vps 2 +#define cet_ucs4_cnt_vps 254 + +const int cet_ucs4_map_vps[cet_ucs4_cnt_vps] = +{ + 0x1ea0, 0x1eac, 0x1eb6, 0x1eb8, 0x1ec6, 0x0007, 0x0008, 0x0009, + 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, 0x1eca, 0x1ecc, + 0x1ed8, 0x1ee2, 0x1ee4, 0x1ef0, 0x0016, 0x0017, 0x0018, 0x1ef4, + 0x001a, 0x001b, 0x1eaa, 0x1eee, 0x001e, 0x001f, 0x0020, 0x0021, + 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, + 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, 0x0030, 0x0031, + 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, + 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, 0x0040, 0x0041, + 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, + 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, 0x0050, 0x0051, + 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, + 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, 0x0060, 0x0061, + 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, + 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, 0x0070, 0x0071, + 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, + 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, 0x00c0, 0x1ea2, + 0x00c3, 0x1ea4, 0x1ea6, 0x1ea8, 0x1ecd, 0x1ed7, 0x0102, 0x1ebf, + 0x1ec1, 0x1ec3, 0x1ec7, 0x1eae, 0x1eb0, 0x1eb2, 0x1ebe, -1, + -1, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ed0, 0x1ed2, 0x1ed4, -1, + 0x00fd, 0x1ef7, 0x1ef5, 0x1eda, 0x1edc, 0x1ede, -1, 0x1eaf, + 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7, 0x1ee0, 0x1edb, 0x00d9, 0x1edd, + 0x1edf, 0x1ee1, 0x0168, 0x1ee8, 0x1ee3, 0x1eea, 0x1ed5, 0x1eec, + 0x1ef2, 0x1ef8, 0x00cd, 0x00cc, 0x1ed9, 0x1ec8, 0x0128, 0x00d3, + 0x1eed, 0x1eef, 0x00d2, 0x1ece, 0x00d5, 0x1ef1, 0x1ea7, 0x00c1, + 0x00c2, 0x1ea5, 0x1ea9, 0x1eab, 0x1ead, 0x0111, 0x1ebb, 0x00c9, + 0x00ca, 0x1eb9, 0x1ec9, 0x1ec5, 0x1ecb, 0x1ef9, 0x01af, 0x1ee6, + 0x1ed3, 0x1ed1, 0x00d4, 0x1ecf, 0x01a1, 0x00c8, 0x1eeb, 0x1ee9, + 0x00da, 0x0169, 0x01b0, 0x00dd, 0x1eba, -1, 0x00e0, 0x00e1, + 0x00e2, 0x00e3, 0x1ea3, 0x1ea1, 0x0103, -1, 0x00e8, 0x00e9, + 0x00ea, 0x1ebd, 0x00ec, 0x00ed, -1, 0x0129, 0x1eb4, 0x0110, + 0x00f2, 0x00f3, 0x00f4, 0x00f5, -1, 0x01a0, 0x1ee5, 0x00f9, + 0x00fa, 0x1ee7, -1, 0x1ef6, 0x1ebc, 0x1ef3 +}; + +#define cet_ucs4_to_vps_ct 111 + +const cet_ucs4_link_t cet_ucs4_to_vps_links[cet_ucs4_to_vps_ct] = +{ + {0x00c0, 0x80} /* capital letter a with grave */, + {0x00c3, 0x82} /* capital letter a with tilde */, + {0x00c8, 0xd7} /* capital letter e with grave */, + {0x00cc, 0xb5} /* capital letter i with grave */, + {0x00cd, 0xb4} /* capital letter i with acute */, + {0x00d2, 0xbc} /* capital letter o with grave */, + {0x00d3, 0xb9} /* capital letter o with acute */, + {0x00d5, 0xbe} /* capital letter o with tilde */, + {0x00d9, 0xa8} /* capital letter u with grave */, + {0x00fd, 0x9a} /* small letter y with acute */, + {0x0102, 0x88} /* capital letter a with breve */, + {0x0103, 0xe6} /* small letter a with breve */, + {0x0110, 0xf1} /* capital letter d with stroke */, + {0x0111, 0xc7} /* small letter d with stroke */, + {0x0128, 0xb8} /* capital letter i with tilde */, + {0x0129, 0xef} /* small letter i with tilde */, + {0x0168, 0xac} /* capital letter u with tilde */, + {0x0169, 0xdb} /* small letter u with tilde */, + {0x01a0, 0xf7} /* capital letter o with horn */, + {0x01a1, 0xd6} /* small letter o with horn */, + {0x01af, 0xd0} /* capital letter u with horn */, + {0x01b0, 0xdc} /* small letter u with horn */, + {0x1ea0, 0x02} /* capital letter a with dot below */, + {0x1ea1, 0xe5} /* small letter a with dot below */, + {0x1ea2, 0x81} /* capital letter a with hook above */, + {0x1ea3, 0xe4} /* small letter a with hook above */, + {0x1ea4, 0x83} /* capital letter a with circumflex and acute */, + {0x1ea5, 0xc3} /* small letter a with circumflex and acute */, + {0x1ea6, 0x84} /* capital letter a with circumflex and grave */, + {0x1ea7, 0xc0} /* small letter a with circumflex and grave */, + {0x1ea8, 0x85} /* capital letter a with circumflex and hook above */, + {0x1ea9, 0xc4} /* small letter a with circumflex and hook above */, + {0x1eaa, 0x1c} /* capital letter a with circumflex and tilde */, + {0x1eab, 0xc5} /* small letter a with circumflex and tilde */, + {0x1eac, 0x03} /* latine a accent circonflexe et point souscrit */, + {0x1ead, 0xc6} /* latine a accent circonflexe et point souscrit */, + {0x1eae, 0x8d} /* capital letter a with breve and acute */, + {0x1eaf, 0xa1} /* small letter a with breve and acute */, + {0x1eb0, 0x8e} /* capital letter a with breve and grave */, + {0x1eb1, 0xa2} /* small letter a with breve and grave */, + {0x1eb2, 0x8f} /* capital letter a with breve and hook above */, + {0x1eb3, 0xa3} /* small letter a with breve and hook above */, + {0x1eb4, 0xf0} /* capital letter a with breve and tilde */, + {0x1eb5, 0xa4} /* small letter a with breve and tilde */, + {0x1eb6, 0x04} /* latine a brève et point souscrit */, + {0x1eb7, 0xa5} /* latine a brève et point souscrit */, + {0x1eb8, 0x05} /* capital letter e with dot below */, + {0x1eb9, 0xcb} /* small letter e with dot below */, + {0x1eba, 0xde} /* capital letter e with hook above */, + {0x1ebb, 0xc8} /* small letter e with hook above */, + {0x1ebc, 0xfe} /* capital letter e with tilde */, + {0x1ebd, 0xeb} /* small letter e with tilde */, + {0x1ebe, 0x90} /* capital letter e with circumflex and acute */, + {0x1ebf, 0x89} /* small letter e with circumflex and acute */, + {0x1ec0, 0x93} /* capital letter e with circumflex and grave */, + {0x1ec1, 0x8a} /* small letter e with circumflex and grave */, + {0x1ec2, 0x94} /* capital letter e with circumflex and hook above */, + {0x1ec3, 0x8b} /* small letter e with circumflex and hook above */, + {0x1ec4, 0x95} /* capital letter e with circumflex and tilde */, + {0x1ec5, 0xcd} /* small letter e with circumflex and tilde */, + {0x1ec6, 0x06} /* latine e accent circonflexe et point souscrit */, + {0x1ec7, 0x8c} /* latine e accent circonflexe et point souscrit */, + {0x1ec8, 0xb7} /* capital letter i with hook above */, + {0x1ec9, 0xcc} /* small letter i with hook above */, + {0x1eca, 0x10} /* capital letter i with dot below */, + {0x1ecb, 0xce} /* small letter i with dot below */, + {0x1ecc, 0x11} /* capital letter o with dot below */, + {0x1ecd, 0x86} /* small letter o with dot below */, + {0x1ece, 0xbd} /* capital letter o with hook above */, + {0x1ecf, 0xd5} /* small letter o with hook above */, + {0x1ed0, 0x96} /* capital letter o with circumflex and acute */, + {0x1ed1, 0xd3} /* small letter o with circumflex and acute */, + {0x1ed2, 0x97} /* capital letter o with circumflex and grave */, + {0x1ed3, 0xd2} /* small letter o with circumflex and grave */, + {0x1ed4, 0x98} /* capital letter o with circumflex and hook above */, + {0x1ed5, 0xb0} /* small letter o with circumflex and hook above */, + {0x1ed7, 0x87} /* small letter o with circumflex and tilde */, + {0x1ed8, 0x12} /* latine o accent circonflexe et point souscrit */, + {0x1ed9, 0xb6} /* latine o accent circonflexe et point souscrit */, + {0x1eda, 0x9d} /* capital letter o with horn and acute */, + {0x1edb, 0xa7} /* small letter o with horn and acute */, + {0x1edc, 0x9e} /* capital letter o with horn and grave */, + {0x1edd, 0xa9} /* small letter o with horn and grave */, + {0x1ede, 0x9f} /* capital letter o with horn and hook above */, + {0x1edf, 0xaa} /* small letter o with horn and hook above */, + {0x1ee0, 0xa6} /* capital letter o with horn and tilde */, + {0x1ee1, 0xab} /* small letter o with horn and tilde */, + {0x1ee2, 0x13} /* latine o cornu point souscrit */, + {0x1ee3, 0xae} /* latine o cornu point souscrit */, + {0x1ee4, 0x14} /* capital letter u with dot below */, + {0x1ee5, 0xf8} /* small letter u with dot below */, + {0x1ee6, 0xd1} /* capital letter u with hook above */, + {0x1ee7, 0xfb} /* small letter u with hook above */, + {0x1ee8, 0xad} /* capital letter u with horn and acute */, + {0x1ee9, 0xd9} /* small letter u with horn and acute */, + {0x1eea, 0xaf} /* capital letter u with horn and grave */, + {0x1eeb, 0xd8} /* small letter u with horn and grave */, + {0x1eec, 0xb1} /* capital letter u with horn and hook above */, + {0x1eed, 0xba} /* small letter u with horn and hook above */, + {0x1eee, 0x1d} /* capital letter u with horn and tilde */, + {0x1eef, 0xbb} /* small letter u with horn and tilde */, + {0x1ef0, 0x15} /* latine u cornu point souscrit */, + {0x1ef1, 0xbf} /* latine u cornu point souscrit */, + {0x1ef2, 0xb2} /* capital letter y with grave */, + {0x1ef3, 0xff} /* small letter y with grave */, + {0x1ef4, 0x19} /* capital letter y with dot below */, + {0x1ef5, 0x9c} /* small letter y with dot below */, + {0x1ef6, 0xfd} /* capital letter y with hook above */, + {0x1ef7, 0x9b} /* small letter y with hook above */, + {0x1ef8, 0xb3} /* capital letter y with tilde */, + {0x1ef9, 0xcf} /* small letter y with tilde */ +}; + +/* +#define cet_ucs4_to_vps_extra_ct 0 +const cet_ucs4_link_t cet_ucs4_to_vps_extra[cet_ucs4_to_vps_extra_ct] = {}; +*/ + +cet_cs_vec_t cet_cs_vec_vps = /* defined in cet.h */ +{ + cet_cs_name_vps, /* name of character set */ + cet_cs_alias_vps, /* alias table */ + + NULL, /* ... to UCS-4 converter (multi-byte) */ + NULL, /* UCS-4 to ... converter (multi-byte) */ + + cet_ucs4_map_vps, /* char to UCS-4 value table */ + cet_ucs4_ofs_vps, /* first non standard character */ + cet_ucs4_cnt_vps, /* number of values in table */ + + cet_ucs4_to_vps_links, /* UCS-4 to char links */ + cet_ucs4_to_vps_ct, /* number of links */ + + NULL, /* hand made UCS-4 links */ + 0, /* number of extra links */ + + NULL /* for internal use */ +}; + + +/* +const int vps_ucs4_full_map[] = +{ + 0x0000, 0x0001, 0x1ea0, 0x1eac, 0x1eb6, 0x1eb8, 0x1ec6, 0x0007, + 0x0008, 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x000e, 0x000f, + 0x1eca, 0x1ecc, 0x1ed8, 0x1ee2, 0x1ee4, 0x1ef0, 0x0016, 0x0017, + 0x0018, 0x1ef4, 0x001a, 0x001b, 0x1eaa, 0x1eee, 0x001e, 0x001f, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, + 0x0028, 0x0029, 0x002a, 0x002b, 0x002c, 0x002d, 0x002e, 0x002f, + 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, + 0x0038, 0x0039, 0x003a, 0x003b, 0x003c, 0x003d, 0x003e, 0x003f, + 0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, + 0x0048, 0x0049, 0x004a, 0x004b, 0x004c, 0x004d, 0x004e, 0x004f, + 0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, + 0x0058, 0x0059, 0x005a, 0x005b, 0x005c, 0x005d, 0x005e, 0x005f, + 0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, + 0x0068, 0x0069, 0x006a, 0x006b, 0x006c, 0x006d, 0x006e, 0x006f, + 0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, + 0x0078, 0x0079, 0x007a, 0x007b, 0x007c, 0x007d, 0x007e, 0x007f, + 0x00c0, 0x1ea2, 0x00c3, 0x1ea4, 0x1ea6, 0x1ea8, 0x1ecd, 0x1ed7, + 0x0102, 0x1ebf, 0x1ec1, 0x1ec3, 0x1ec7, 0x1eae, 0x1eb0, 0x1eb2, + 0x1ebe, -1, -1, 0x1ec0, 0x1ec2, 0x1ec4, 0x1ed0, 0x1ed2, + 0x1ed4, -1, 0x00fd, 0x1ef7, 0x1ef5, 0x1eda, 0x1edc, 0x1ede, + -1, 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5, 0x1eb7, 0x1ee0, 0x1edb, + 0x00d9, 0x1edd, 0x1edf, 0x1ee1, 0x0168, 0x1ee8, 0x1ee3, 0x1eea, + 0x1ed5, 0x1eec, 0x1ef2, 0x1ef8, 0x00cd, 0x00cc, 0x1ed9, 0x1ec8, + 0x0128, 0x00d3, 0x1eed, 0x1eef, 0x00d2, 0x1ece, 0x00d5, 0x1ef1, + 0x1ea7, 0x00c1, 0x00c2, 0x1ea5, 0x1ea9, 0x1eab, 0x1ead, 0x0111, + 0x1ebb, 0x00c9, 0x00ca, 0x1eb9, 0x1ec9, 0x1ec5, 0x1ecb, 0x1ef9, + 0x01af, 0x1ee6, 0x1ed3, 0x1ed1, 0x00d4, 0x1ecf, 0x01a1, 0x00c8, + 0x1eeb, 0x1ee9, 0x00da, 0x0169, 0x01b0, 0x00dd, 0x1eba, -1, + 0x00e0, 0x00e1, 0x00e2, 0x00e3, 0x1ea3, 0x1ea1, 0x0103, -1, + 0x00e8, 0x00e9, 0x00ea, 0x1ebd, 0x00ec, 0x00ed, -1, 0x0129, + 0x1eb4, 0x0110, 0x00f2, 0x00f3, 0x00f4, 0x00f5, -1, 0x01a0, + 0x1ee5, 0x00f9, 0x00fa, 0x1ee7, -1, 0x1ef6, 0x1ebc, 0x1ef3 +}; +*/ + +#endif diff --git a/gpsbabel/cet_util.c b/gpsbabel/cet_util.c new file mode 100644 index 000000000..a9e60b87b --- /dev/null +++ b/gpsbabel/cet_util.c @@ -0,0 +1,1074 @@ +/* + + Character encoding transformation - utilities + + Copyright (C) 2005 Olaf Klein, o.b.klein@t-online.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA +*/ + + +#include +#include +#include +#include + +#include "defs.h" +#include "cet.h" +#include "cet_util.h" + +#ifndef NO_EXPAT +# include +#endif + +#define MYNAME "cet_util" + +static cet_cs_vec_t *cet_cs_vec_root = NULL; + +typedef struct cet_cs_alias_s +{ + char *name; + cet_cs_vec_t *vec; +} cet_cs_alias_t; + +static cet_cs_alias_t *cet_cs_alias; +static int cet_cs_alias_ct = 0; +static int cet_cs_vec_ct = 0; + +/* %%% short hand strings transmission for main character sets %%% */ + +#include "cet/iso_8859_1.h" +char * +cet_str_utf8_to_iso8859_1(const char *src) +{ + return cet_str_utf8_to_any(src, &cet_cs_vec_iso_8859_1); +} + +char * +cet_str_iso8859_1_to_utf8(const char *src) +{ + return cet_str_any_to_utf8(src, &cet_cs_vec_iso_8859_1); +} + +#include "cet/iso_8859_15.h" + +char * +cet_str_utf8_to_iso8859_15(const char *src) +{ + return cet_str_utf8_to_any(src, &cet_cs_vec_iso_8859_15); +} + +char * +cet_str_iso8859_15_to_utf8(const char *src) +{ + return cet_str_any_to_utf8(src, &cet_cs_vec_iso_8859_15); +} + +#include "cet/ansi_x3_4_1968.h" + +char * +cet_str_utf8_to_us_ascii(const char *src) +{ + return cet_str_utf8_to_any(src, &cet_cs_vec_ansi_x3_4_1968); +} + +char * +cet_str_us_ascii_to_utf8(const char *src) +{ + return cet_str_any_to_utf8(src, &cet_cs_vec_ansi_x3_4_1968); +} + +#include "cet/cp1252.h" + +char * +cet_str_utf8_to_cp1252(const char *src) +{ + return cet_str_utf8_to_any(src, &cet_cs_vec_cp1252); +} + +char * +cet_str_cp1252_to_utf8(const char *src) +{ + return cet_str_any_to_utf8(src, &cet_cs_vec_cp1252); +} + + +/* helpers */ + +/* %%% %%% + * + * + */ + +int XMLCALL cet_lib_expat_UnknownEncodingHandler(void *data, const XML_Char *encoding, XML_Encoding *info) +{ + cet_cs_vec_t *cs; + int i, c, ucs4_def; + + cs = cet_find_cs_by_name(encoding); + if (cs == NULL) return XML_STATUS_ERROR; /* fatal(MYNAME ": Unknown character set \"%s\"!\n", encoding); */ + + cet_char_to_ucs4(CET_NOT_CONVERTABLE_DEFAULT, cs, &ucs4_def); + + for (i = 0; i < cs->ucs4_offset; i++) info->map[i] = i; /* equal to ascii part */ + for (i = 0; i < cs->ucs4_count; i++) /* mixed table */ + { + c = cs->ucs4_map[i]; + if (c == -1) c = ucs4_def; + info->map[i + cs->ucs4_offset] = c; + } + for (i = cs->ucs4_offset + cs->ucs4_count; i < 256; i++) info->map[i] = ucs4_def; /* non convertable trailer */ + + info->data = NULL; + info->convert = NULL; + info->release = NULL; + + cet_convert_init(CET_CHARSET_UTF8, 1); /* We do not need to transform any string */ + + if (global_opts.verbose_status > 0) + printf(MYNAME ": XML parser - encoding handler for character set \"%s\" established.\n", encoding); + + return XML_STATUS_OK; +} + + +char * +cet_str_uni_to_any(const short *src, int length, const cet_cs_vec_t *dest_vec) +{ + char *res, *c; + const cet_cs_vec_t *cs = (dest_vec != NULL) ? dest_vec : &cet_cs_vec_ansi_x3_4_1968; + + res = cet_str_uni_to_utf8(src, length); + if (cs != &cet_cs_vec_utf8) + { + c = cet_str_utf8_to_any(res, cs); + xfree(res); + res = c; + } + return res; +} + +/* %%% cet_str_any_to_any %%% + * + * -->> for use in mkshort */ + +char * +cet_str_any_to_any(const char *src, const cet_cs_vec_t *src_vec, const cet_cs_vec_t *dest_vec) +{ + char *c0, *c1; + const cet_cs_vec_t *v_in = (src_vec != NULL ) ? src_vec : &cet_cs_vec_ansi_x3_4_1968; + const cet_cs_vec_t *v_out = (dest_vec != NULL ) ? dest_vec : &cet_cs_vec_ansi_x3_4_1968; + + if (src == NULL) + return NULL; + else + if ((*src == '\0') || (v_in == v_out)) return xstrdup(src); + + c0 = (v_in == &cet_cs_vec_utf8) ? xstrdup(src) : cet_str_any_to_utf8(src, v_in); + c1 = (v_out == &cet_cs_vec_utf8) ? xstrdup(c0) : cet_str_utf8_to_any(c0, v_out); + xfree(c0); + + return c1; +} + +/* %%% cet_valid_char %%% + * + * returnes 1 if convertable otherwise 0 + * + */ + +int +cet_valid_char(const char *src, const cet_cs_vec_t *vec) +{ + int value; + + const cet_cs_vec_t *v = (vec != NULL) ? vec : &cet_cs_vec_ansi_x3_4_1968; + return cet_char_to_ucs4(*src, v, &value); +} + +/* %%% include character set headers %%% */ + +#include "cet/ansi_x3_4_1968.h" +#include "cet/atarist.h" +#include "cet/baltic.h" +#include "cet/bs_4730.h" +#include "cet/bs_viewdata.h" +#include "cet/cp1250.h" +#include "cet/cp1251.h" +#include "cet/cp1252.h" +#include "cet/cp1253.h" +#include "cet/cp1254.h" +#include "cet/cp1255.h" +#include "cet/cp1256.h" +#include "cet/cp1257.h" +#include "cet/csa_z243_4_1985_1.h" +#include "cet/csa_z243_4_1985_2.h" +#include "cet/csa_z243_4_1985_gr.h" +#include "cet/csn_369103.h" +#include "cet/cwi.h" +#include "cet/dec_mcs.h" +#include "cet/din_66003.h" +#include "cet/ds_2089.h" +#include "cet/ecma_cyrillic.h" +#include "cet/es.h" +#include "cet/es2.h" +#include "cet/gb_1988_80.h" +#include "cet/gost_19768_87.h" +#include "cet/hp_roman8.h" +#include "cet/ibm037.h" +#include "cet/ibm1004.h" +#include "cet/ibm1026.h" +#include "cet/ibm1047.h" +#include "cet/ibm256.h" +#include "cet/ibm273.h" +#include "cet/ibm277.h" +#include "cet/ibm278.h" +#include "cet/ibm280.h" +#include "cet/ibm284.h" +#include "cet/ibm285.h" +#include "cet/ibm297.h" +#include "cet/ibm437.h" +#include "cet/ibm500.h" +#include "cet/ibm850.h" +#include "cet/ibm851.h" +#include "cet/ibm852.h" +#include "cet/ibm855.h" +#include "cet/ibm857.h" +#include "cet/ibm860.h" +#include "cet/ibm861.h" +#include "cet/ibm862.h" +#include "cet/ibm863.h" +#include "cet/ibm864.h" +#include "cet/ibm865.h" +#include "cet/ibm868.h" +#include "cet/ibm869.h" +#include "cet/ibm871.h" +#include "cet/ibm891.h" +#include "cet/ibm903.h" +#include "cet/ibm904.h" +#include "cet/iec_p27_1.h" +#include "cet/iso_10367_box.h" +#include "cet/iso_5427.h" +#include "cet/iso_646_irv.h" +#include "cet/iso_6937_2_25.h" +#include "cet/iso_8859_1.h" +#include "cet/iso_8859_10.h" +#include "cet/iso_8859_13.h" +#include "cet/iso_8859_14.h" +#include "cet/iso_8859_15.h" +#include "cet/iso_8859_2.h" +#include "cet/iso_8859_3.h" +#include "cet/iso_8859_4.h" +#include "cet/iso_8859_5.h" +#include "cet/iso_8859_6.h" +#include "cet/iso_8859_7.h" +#include "cet/iso_8859_8.h" +#include "cet/iso_8859_9.h" +#include "cet/iso_8859_supp.h" +#include "cet/it.h" +#include "cet/jis_c6220_1969_ro.h" +#include "cet/jis_x0201.h" +#include "cet/jus_i_b1_002.h" +#include "cet/jus_i_b1_003_mac.h" +#include "cet/jus_i_b1_003_serb.h" +#include "cet/keybcs2.h" +#include "cet/koi8_r.h" +#include "cet/koi8_ru.h" +#include "cet/koi8_u.h" +#include "cet/koi_7.h" +#include "cet/koi_8.h" +#include "cet/koi_8_cs2.h" +#include "cet/ksc5636.h" +#include "cet/latin_greek_1.h" +#include "cet/mac_is.h" +#include "cet/macintosh.h" +#include "cet/macintosh_ce.h" +#include "cet/msz_7795_3.h" +#include "cet/nats_dano.h" +#include "cet/nats_sefi.h" +#include "cet/nc_nc00_10.h" +#include "cet/nextstep.h" +#include "cet/nf_z_62_010.h" +#include "cet/nf_z_62_010__1973_.h" +#include "cet/ns_4551_1.h" +#include "cet/ns_4551_2.h" +#include "cet/pt.h" +#include "cet/pt2.h" +#include "cet/sami.h" +#include "cet/sen_850200_b.h" +#include "cet/sen_850200_c.h" +#include "cet/tcvn.h" +#include "cet/viscii.h" +#include "cet/vps.h" + +#ifdef DEBUG_MEM + +void +cet_check_cs(cet_cs_vec_t *vec) /* test well sorted link & extra tables */ +{ + cet_ucs4_link_t *link; + + if ((link = (cet_ucs4_link_t *)vec->ucs4_link)) + { + int i, j; + + for (i = 0, j = 1; j < vec->ucs4_links; i++, j++) + { + if (link[i].value >= link[j].value) + { + printf(MYNAME ": checked 0x%04x with 0x%04x\n", link[i].value, link[j].value); + fatal(MYNAME ": \"%s\"-link-table unsorted !!!\n", vec->name); + } + + } + } + if ((link = (cet_ucs4_link_t *)vec->ucs4_extra)) + { + int i, j; + + for (i = 0, j = 1; j < vec->ucs4_extras; i++, j++) + { + if (link[i].value >= link[j].value) + { + printf(MYNAME ": check 0x%04x with 0x%04x\n", link[i].value, link[j].value); + fatal(MYNAME ": \"%s\"-extra-table unsorted !!!\n", vec->name); + } + + } + } +} + +#endif + +static signed int +cet_cs_alias_qsort_cb(const void *a, const void *b) +{ + const cet_cs_alias_t *va = a; + const cet_cs_alias_t *vb = b; + return case_ignore_strcmp(va->name, vb->name); +} + +static signed int +cet_cs_vec_qsort_cb(const void *a, const void *b) +{ + const cet_cs_vec_t *va = *(cet_cs_vec_t **)a; + const cet_cs_vec_t *vb = *(cet_cs_vec_t **)b; + return case_ignore_strcmp(va->name, vb->name); +} + +void +cet_register_cs(cet_cs_vec_t *vec) +{ + if (vec->next == NULL) + { + vec->next = cet_cs_vec_root; + cet_cs_vec_root = vec; + cet_cs_vec_ct++; +#ifdef DEBUG_MEM + cet_check_cs(vec); +#endif + } +} + +/* Dummy vector for our native character set */ + +const char *cet_cs_utf8_alias[] = +{ + "utf8", NULL +}; + +cet_cs_vec_t cet_cs_vec_utf8 = +{ + CET_CHARSET_UTF8, + cet_cs_utf8_alias, + NULL, /* dec */ + NULL, /* enc */ + NULL, /* link */ + 0, + 0, + NULL, /* extra */ + 0, /* extras */ + NULL +}; + +void +cet_register(void) +{ + int i, c; + + if (cet_cs_vec_root != NULL) return; + + cet_cs_vec_ct = 0; + cet_register_cs(&cet_cs_vec_utf8); /* internal place holder */ + +#ifdef cet_cs_name_ansi_x3_4_1968 +cet_register_cs(&cet_cs_vec_ansi_x3_4_1968); +#endif +#ifdef cet_cs_name_atarist +cet_register_cs(&cet_cs_vec_atarist); +#endif +#ifdef cet_cs_name_baltic +cet_register_cs(&cet_cs_vec_baltic); +#endif +#ifdef cet_cs_name_bs_4730 +cet_register_cs(&cet_cs_vec_bs_4730); +#endif +#ifdef cet_cs_name_bs_viewdata +cet_register_cs(&cet_cs_vec_bs_viewdata); +#endif +#ifdef cet_cs_name_cp1250 +cet_register_cs(&cet_cs_vec_cp1250); +#endif +#ifdef cet_cs_name_cp1251 +cet_register_cs(&cet_cs_vec_cp1251); +#endif +#ifdef cet_cs_name_cp1252 +cet_register_cs(&cet_cs_vec_cp1252); +#endif +#ifdef cet_cs_name_cp1253 +cet_register_cs(&cet_cs_vec_cp1253); +#endif +#ifdef cet_cs_name_cp1254 +cet_register_cs(&cet_cs_vec_cp1254); +#endif +#ifdef cet_cs_name_cp1255 +cet_register_cs(&cet_cs_vec_cp1255); +#endif +#ifdef cet_cs_name_cp1256 +cet_register_cs(&cet_cs_vec_cp1256); +#endif +#ifdef cet_cs_name_cp1257 +cet_register_cs(&cet_cs_vec_cp1257); +#endif +#ifdef cet_cs_name_csa_z243_4_1985_1 +cet_register_cs(&cet_cs_vec_csa_z243_4_1985_1); +#endif +#ifdef cet_cs_name_csa_z243_4_1985_2 +cet_register_cs(&cet_cs_vec_csa_z243_4_1985_2); +#endif +#ifdef cet_cs_name_csa_z243_4_1985_gr +cet_register_cs(&cet_cs_vec_csa_z243_4_1985_gr); +#endif +#ifdef cet_cs_name_csn_369103 +cet_register_cs(&cet_cs_vec_csn_369103); +#endif +#ifdef cet_cs_name_cwi +cet_register_cs(&cet_cs_vec_cwi); +#endif +#ifdef cet_cs_name_dec_mcs +cet_register_cs(&cet_cs_vec_dec_mcs); +#endif +#ifdef cet_cs_name_din_66003 +cet_register_cs(&cet_cs_vec_din_66003); +#endif +#ifdef cet_cs_name_ds_2089 +cet_register_cs(&cet_cs_vec_ds_2089); +#endif +#ifdef cet_cs_name_ecma_cyrillic +cet_register_cs(&cet_cs_vec_ecma_cyrillic); +#endif +#ifdef cet_cs_name_es +cet_register_cs(&cet_cs_vec_es); +#endif +#ifdef cet_cs_name_es2 +cet_register_cs(&cet_cs_vec_es2); +#endif +#ifdef cet_cs_name_gb_1988_80 +cet_register_cs(&cet_cs_vec_gb_1988_80); +#endif +#ifdef cet_cs_name_gost_19768_87 +cet_register_cs(&cet_cs_vec_gost_19768_87); +#endif +#ifdef cet_cs_name_hp_roman8 +cet_register_cs(&cet_cs_vec_hp_roman8); +#endif +#ifdef cet_cs_name_ibm037 +cet_register_cs(&cet_cs_vec_ibm037); +#endif +#ifdef cet_cs_name_ibm1004 +cet_register_cs(&cet_cs_vec_ibm1004); +#endif +#ifdef cet_cs_name_ibm1026 +cet_register_cs(&cet_cs_vec_ibm1026); +#endif +#ifdef cet_cs_name_ibm1047 +cet_register_cs(&cet_cs_vec_ibm1047); +#endif +#ifdef cet_cs_name_ibm256 +cet_register_cs(&cet_cs_vec_ibm256); +#endif +#ifdef cet_cs_name_ibm273 +cet_register_cs(&cet_cs_vec_ibm273); +#endif +#ifdef cet_cs_name_ibm277 +cet_register_cs(&cet_cs_vec_ibm277); +#endif +#ifdef cet_cs_name_ibm278 +cet_register_cs(&cet_cs_vec_ibm278); +#endif +#ifdef cet_cs_name_ibm280 +cet_register_cs(&cet_cs_vec_ibm280); +#endif +#ifdef cet_cs_name_ibm284 +cet_register_cs(&cet_cs_vec_ibm284); +#endif +#ifdef cet_cs_name_ibm285 +cet_register_cs(&cet_cs_vec_ibm285); +#endif +#ifdef cet_cs_name_ibm297 +cet_register_cs(&cet_cs_vec_ibm297); +#endif +#ifdef cet_cs_name_ibm437 +cet_register_cs(&cet_cs_vec_ibm437); +#endif +#ifdef cet_cs_name_ibm500 +cet_register_cs(&cet_cs_vec_ibm500); +#endif +#ifdef cet_cs_name_ibm850 +cet_register_cs(&cet_cs_vec_ibm850); +#endif +#ifdef cet_cs_name_ibm851 +cet_register_cs(&cet_cs_vec_ibm851); +#endif +#ifdef cet_cs_name_ibm852 +cet_register_cs(&cet_cs_vec_ibm852); +#endif +#ifdef cet_cs_name_ibm855 +cet_register_cs(&cet_cs_vec_ibm855); +#endif +#ifdef cet_cs_name_ibm857 +cet_register_cs(&cet_cs_vec_ibm857); +#endif +#ifdef cet_cs_name_ibm860 +cet_register_cs(&cet_cs_vec_ibm860); +#endif +#ifdef cet_cs_name_ibm861 +cet_register_cs(&cet_cs_vec_ibm861); +#endif +#ifdef cet_cs_name_ibm862 +cet_register_cs(&cet_cs_vec_ibm862); +#endif +#ifdef cet_cs_name_ibm863 +cet_register_cs(&cet_cs_vec_ibm863); +#endif +#ifdef cet_cs_name_ibm864 +cet_register_cs(&cet_cs_vec_ibm864); +#endif +#ifdef cet_cs_name_ibm865 +cet_register_cs(&cet_cs_vec_ibm865); +#endif +#ifdef cet_cs_name_ibm868 +cet_register_cs(&cet_cs_vec_ibm868); +#endif +#ifdef cet_cs_name_ibm869 +cet_register_cs(&cet_cs_vec_ibm869); +#endif +#ifdef cet_cs_name_ibm871 +cet_register_cs(&cet_cs_vec_ibm871); +#endif +#ifdef cet_cs_name_ibm891 +cet_register_cs(&cet_cs_vec_ibm891); +#endif +#ifdef cet_cs_name_ibm903 +cet_register_cs(&cet_cs_vec_ibm903); +#endif +#ifdef cet_cs_name_ibm904 +cet_register_cs(&cet_cs_vec_ibm904); +#endif +#ifdef cet_cs_name_iec_p27_1 +cet_register_cs(&cet_cs_vec_iec_p27_1); +#endif +#ifdef cet_cs_name_iso_10367_box +cet_register_cs(&cet_cs_vec_iso_10367_box); +#endif +#ifdef cet_cs_name_iso_5427 +cet_register_cs(&cet_cs_vec_iso_5427); +#endif +#ifdef cet_cs_name_iso_646_irv +cet_register_cs(&cet_cs_vec_iso_646_irv); +#endif +#ifdef cet_cs_name_iso_6937_2_25 +cet_register_cs(&cet_cs_vec_iso_6937_2_25); +#endif +#ifdef cet_cs_name_iso_8859_1 +cet_register_cs(&cet_cs_vec_iso_8859_1); +#endif +#ifdef cet_cs_name_iso_8859_10 +cet_register_cs(&cet_cs_vec_iso_8859_10); +#endif +#ifdef cet_cs_name_iso_8859_13 +cet_register_cs(&cet_cs_vec_iso_8859_13); +#endif +#ifdef cet_cs_name_iso_8859_14 +cet_register_cs(&cet_cs_vec_iso_8859_14); +#endif +#ifdef cet_cs_name_iso_8859_15 +cet_register_cs(&cet_cs_vec_iso_8859_15); +#endif +#ifdef cet_cs_name_iso_8859_2 +cet_register_cs(&cet_cs_vec_iso_8859_2); +#endif +#ifdef cet_cs_name_iso_8859_3 +cet_register_cs(&cet_cs_vec_iso_8859_3); +#endif +#ifdef cet_cs_name_iso_8859_4 +cet_register_cs(&cet_cs_vec_iso_8859_4); +#endif +#ifdef cet_cs_name_iso_8859_5 +cet_register_cs(&cet_cs_vec_iso_8859_5); +#endif +#ifdef cet_cs_name_iso_8859_6 +cet_register_cs(&cet_cs_vec_iso_8859_6); +#endif +#ifdef cet_cs_name_iso_8859_7 +cet_register_cs(&cet_cs_vec_iso_8859_7); +#endif +#ifdef cet_cs_name_iso_8859_8 +cet_register_cs(&cet_cs_vec_iso_8859_8); +#endif +#ifdef cet_cs_name_iso_8859_9 +cet_register_cs(&cet_cs_vec_iso_8859_9); +#endif +#ifdef cet_cs_name_iso_8859_supp +cet_register_cs(&cet_cs_vec_iso_8859_supp); +#endif +#ifdef cet_cs_name_it +cet_register_cs(&cet_cs_vec_it); +#endif +#ifdef cet_cs_name_jis_c6220_1969_ro +cet_register_cs(&cet_cs_vec_jis_c6220_1969_ro); +#endif +#ifdef cet_cs_name_jis_x0201 +cet_register_cs(&cet_cs_vec_jis_x0201); +#endif +#ifdef cet_cs_name_jus_i_b1_002 +cet_register_cs(&cet_cs_vec_jus_i_b1_002); +#endif +#ifdef cet_cs_name_jus_i_b1_003_mac +cet_register_cs(&cet_cs_vec_jus_i_b1_003_mac); +#endif +#ifdef cet_cs_name_jus_i_b1_003_serb +cet_register_cs(&cet_cs_vec_jus_i_b1_003_serb); +#endif +#ifdef cet_cs_name_keybcs2 +cet_register_cs(&cet_cs_vec_keybcs2); +#endif +#ifdef cet_cs_name_koi8_r +cet_register_cs(&cet_cs_vec_koi8_r); +#endif +#ifdef cet_cs_name_koi8_ru +cet_register_cs(&cet_cs_vec_koi8_ru); +#endif +#ifdef cet_cs_name_koi8_u +cet_register_cs(&cet_cs_vec_koi8_u); +#endif +#ifdef cet_cs_name_koi_7 +cet_register_cs(&cet_cs_vec_koi_7); +#endif +#ifdef cet_cs_name_koi_8 +cet_register_cs(&cet_cs_vec_koi_8); +#endif +#ifdef cet_cs_name_koi_8_cs2 +cet_register_cs(&cet_cs_vec_koi_8_cs2); +#endif +#ifdef cet_cs_name_ksc5636 +cet_register_cs(&cet_cs_vec_ksc5636); +#endif +#ifdef cet_cs_name_latin_greek_1 +cet_register_cs(&cet_cs_vec_latin_greek_1); +#endif +#ifdef cet_cs_name_mac_is +cet_register_cs(&cet_cs_vec_mac_is); +#endif +#ifdef cet_cs_name_macintosh +cet_register_cs(&cet_cs_vec_macintosh); +#endif +#ifdef cet_cs_name_macintosh_ce +cet_register_cs(&cet_cs_vec_macintosh_ce); +#endif +#ifdef cet_cs_name_msz_7795_3 +cet_register_cs(&cet_cs_vec_msz_7795_3); +#endif +#ifdef cet_cs_name_nats_dano +cet_register_cs(&cet_cs_vec_nats_dano); +#endif +#ifdef cet_cs_name_nats_sefi +cet_register_cs(&cet_cs_vec_nats_sefi); +#endif +#ifdef cet_cs_name_nc_nc00_10 +cet_register_cs(&cet_cs_vec_nc_nc00_10); +#endif +#ifdef cet_cs_name_nextstep +cet_register_cs(&cet_cs_vec_nextstep); +#endif +#ifdef cet_cs_name_nf_z_62_010 +cet_register_cs(&cet_cs_vec_nf_z_62_010); +#endif +#ifdef cet_cs_name_nf_z_62_010__1973_ +cet_register_cs(&cet_cs_vec_nf_z_62_010__1973_); +#endif +#ifdef cet_cs_name_ns_4551_1 +cet_register_cs(&cet_cs_vec_ns_4551_1); +#endif +#ifdef cet_cs_name_ns_4551_2 +cet_register_cs(&cet_cs_vec_ns_4551_2); +#endif +#ifdef cet_cs_name_pt +cet_register_cs(&cet_cs_vec_pt); +#endif +#ifdef cet_cs_name_pt2 +cet_register_cs(&cet_cs_vec_pt2); +#endif +#ifdef cet_cs_name_sami +cet_register_cs(&cet_cs_vec_sami); +#endif +#ifdef cet_cs_name_sen_850200_b +cet_register_cs(&cet_cs_vec_sen_850200_b); +#endif +#ifdef cet_cs_name_sen_850200_c +cet_register_cs(&cet_cs_vec_sen_850200_c); +#endif +#ifdef cet_cs_name_tcvn +cet_register_cs(&cet_cs_vec_tcvn); +#endif +#ifdef cet_cs_name_viscii +cet_register_cs(&cet_cs_vec_viscii); +#endif +#ifdef cet_cs_name_vps +cet_register_cs(&cet_cs_vec_vps); +#endif + + if ( cet_cs_vec_ct > 0) + { + cet_cs_vec_t *p; + cet_cs_alias_t *list; + c = 0; + + /* enumerate count of all names and aliases */ + + for (p = cet_cs_vec_root; p != NULL; p = p->next) + { + c++; + if (p->alias != NULL) + { + char **a = (char **)p->alias; + while ((*a) != NULL) + { + a++; + c++; + } + } + } + /* create name to vec table */ + + list = xcalloc(c, sizeof(*list)); + i = 0; + for (p = cet_cs_vec_root; p != NULL; p = p->next) + { + if (p->alias != NULL) + { + char **a = (char **)p->alias; + + list[i].name = xstrdup(p->name); + list[i].vec = p; + i++; + while (*a != NULL) + { + list[i].name = xstrdup(*a); + list[i].vec = p; + i++; + a++; + } + } + } + qsort(list, c, sizeof(*list), cet_cs_alias_qsort_cb); + cet_cs_alias = list; + cet_cs_alias_ct = c; +#ifdef CET_DEBUG + printf("We have registered %d character sets with %d aliases\n", cet_cs_vec_ct, cet_cs_alias_ct); +#endif + } +} + +cet_cs_vec_t * +cet_find_cs_by_name(const char *name) +{ + int i, j; + + cet_register(); + + if (cet_cs_alias == NULL) return NULL; + + i = 0; + j = cet_cs_alias_ct - 1; + + while (i <= j) + { + int a, x; + cet_cs_alias_t *n; + + a = (i + j) >> 1; + n = &cet_cs_alias[a]; + x = case_ignore_strcmp(name, n->name); + if (x == 0) return n->vec; + else if (x < 0) j = a - 1; + else i = a + 1; + } + return NULL; +} + +void +cet_deregister(void) +{ + int i; + int j = cet_cs_alias_ct; + cet_cs_alias_t *p = cet_cs_alias; + + if (p == NULL) return; + + cet_cs_alias_ct = 0; + cet_cs_alias = NULL; + + for (i = 0; i < j; i++) + xfree(p[i].name); + xfree(p); +} + +/* gpsbabel additions */ + +int +cet_validate_cs(const char *cs, cet_cs_vec_t **vec, char **cs_name) +{ + char buff[128]; + char *c; + cet_cs_vec_t *v; + + if ((cs == NULL) || (strlen(cs) == 0)) /* set default us-ascii */ + { + *vec = &cet_cs_vec_ansi_x3_4_1968; + *cs_name = xstrdup(CET_CHARSET_ASCII); + return 1; + } + + v = cet_find_cs_by_name(cs); + if (v != NULL) + { + strncpy(buff, v->name, sizeof(buff)); + c = buff; + while (*c != '\0') + { + *c = toupper(*c); + c++; + } + *cs_name = xstrdup(buff); + *vec = v; + return 1; + } + else + { + *cs_name = NULL; + *vec = NULL; + return 0; + } +} + +void +cet_convert_deinit(void) +{ + if (global_opts.charset_name != NULL) xfree(global_opts.charset_name); + global_opts.charset = NULL; + global_opts.charset_name = NULL; +} + +void +cet_convert_init(const char *cs_name, const int force) +{ + if ((force != 0) || (global_opts.charset == NULL)) + { + cet_convert_deinit(); + if (0 == cet_validate_cs(cs_name, &global_opts.charset, &global_opts.charset_name)) + fatal("Unsupported character set \"%s\"!\n", cs_name); + } +} + + +/* -------------------------------------------------------------------- */ +/* %%% complete data strings transformation %%% */ +/* -------------------------------------------------------------------- */ + +static char * (*converter) (const char *) = NULL; + +/* two converters */ + +static char * +cet_convert_to_utf8(const char *str) +{ + return cet_str_any_to_utf8(str, global_opts.charset); +} + +static char * +cet_convert_from_utf8(const char *str) +{ + return cet_str_utf8_to_any(str, global_opts.charset); +} + +/* cet_convert_string: internal used within cet_convert_strings process */ + +char * +cet_convert_string(char *str) +{ + char *res; + + if (str == NULL) return NULL; /* return origin if empty or NULL */ + else if (*str == '\0') return str; + + res = converter(str); + xfree(str); + return res; +} + +/* cet_convert_waypt: internal used within cet_convert_strings process */ + +static void +cet_convert_waypt(const waypoint *wpt) +{ + waypoint *w = (waypoint *)wpt; + + w->shortname = cet_convert_string(wpt->shortname); + w->description = cet_convert_string(wpt->description); + w->notes = cet_convert_string(wpt->notes); + w->url = cet_convert_string(wpt->url); + w->url_link_text = cet_convert_string(wpt->url_link_text); +} + +/* cet_convert_route_hdr: internal used within cet_convert_strings process */ + +static void +cet_convert_route_hdr(const route_head *route) +{ + route_head *rte = (route_head *)route; + rte->rte_name = cet_convert_string(route->rte_name); + rte->rte_desc = cet_convert_string(route->rte_desc); +} + +/* cet_convert_route_tlr: internal used within cet_convert_strings process */ + +static void +cet_convert_route_tlr(const route_head *route) +{ +} + +/* %%% cet_convert_strings (public) %%% + * + * - Convert all well known strings of GPS data from or to UTF-8 - + * + * !!! One of "source" or "target" must be internal cet_cs_vec_utf8 or NULL !!! */ + +void +cet_convert_strings(const cet_cs_vec_t *source, const cet_cs_vec_t *target, const char *format) +{ + char *cs_name_from, *cs_name_to; + +// printf("cet_convert_strings: enter\n"); fflush(stdout); + + converter = NULL; + + if ((source == NULL) || (source == &cet_cs_vec_utf8)) + { + if ((target == NULL) || (target == &cet_cs_vec_utf8)) return; /* Nothing to do */ + + converter = cet_convert_from_utf8; + cs_name_from = (char *)cet_cs_vec_utf8.name; + cs_name_to = (char *)target->name; + } + else + { + if ((target != NULL) && (target != &cet_cs_vec_utf8)) + fatal(MYNAME ": Internal error!\n"); + converter = cet_convert_to_utf8; + cs_name_to = (char *)cet_cs_vec_utf8.name; + cs_name_from = (char *)source->name; + } + + if (global_opts.verbose_status > 0) + printf(MYNAME ": Converting from \"%s\" to \"%s\"", cs_name_from, cs_name_to); + + waypt_disp_all(cet_convert_waypt); + route_disp_all(cet_convert_route_hdr, cet_convert_route_tlr, cet_convert_waypt); + track_disp_all(cet_convert_route_hdr, cet_convert_route_tlr, cet_convert_waypt); + + if (global_opts.verbose_status > 0) + printf(", done.\n"); +} + +/* %%% cet_disp_character_set_names %%% + * + * - Put all character set names and aliases to "FILE" - */ + +void +cet_disp_character_set_names(FILE *fout) +{ + int i, c, ac; + cet_cs_vec_t *vec; + cet_cs_vec_t **list; + + if (cet_cs_alias_ct == 0) return; + + c = 0; + for (vec = cet_cs_vec_root; vec != NULL; vec = vec->next) c++; + + if (cet_cs_vec_ct != c) + fatal(MYNAME ": internal error \"%s\"!\n", "cet_disp_character_set_names"); + + list = (cet_cs_vec_t **)xcalloc(c, sizeof(*list)); + + i = 0; /* fill the list */ + for (vec = cet_cs_vec_root; vec != NULL; vec = vec->next) list[i++] = vec; + qsort(list, c, sizeof(*list), cet_cs_vec_qsort_cb); /* sort list by name */ + + ac = 0; + + fprintf(fout, "GPSbabel builtin character sets: (-c option)\n"); + for (i = 0; i < c; i++) + { + char **a; + + vec = list[i]; + fprintf(fout, "\n* %s", vec->name); + + a = (char **)vec->alias; + if (a != NULL) + { + int column = 0; + int alias = 0; + + while (*a != NULL) + { + if (case_ignore_strcmp(*a, vec->name) != 0) + { + ac++; + fprintf(fout, "%s%s%s", + (alias++ > 0) ? ", " : "", + (column++ % 6 == 0) ? "\n\t" : "", + *a); + } + a++; + } + } + } + fprintf(fout, "\n\n"); + fprintf(fout, "We have %d builtin character sets with %d aliases!\n", c, ac); + xfree(list); +} diff --git a/gpsbabel/cet_util.h b/gpsbabel/cet_util.h new file mode 100644 index 000000000..dd2454a36 --- /dev/null +++ b/gpsbabel/cet_util.h @@ -0,0 +1,106 @@ +/* + + Character encoding transformation - utilities header + + Copyright (C) 2005 Olaf Klein, o.b.klein@t-online.de + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA +*/ + +#ifndef CET_UTIL_H +#define CET_UTIL_H + +#include +#include +#include "cet.h" + +#ifndef NO_EXPAT +# include +#endif + +cet_cs_vec_t *cet_find_cs_by_name(const char *name); +void cet_deregister(void); + +/* short hand transmissions */ + +char *cet_str_utf8_to_cp1252(const char *src); +char *cet_str_cp1252_to_utf8(const char *src); +extern cet_cs_vec_t cet_cs_vec_cp1252; + +char *cet_str_iso8859_1_to_utf8(const char *src); +char *cet_str_utf8_to_iso8859_1(const char *src); +extern cet_cs_vec_t cet_cs_vec_iso8859_1; + +char *cet_str_iso8859_15_to_utf8(const char *src); +char *cet_str_utf8_to_iso8859_15(const char *src); +extern const cet_cs_vec_t cet_cs_vec_iso8859_15; + +char *cet_str_utf8_to_us_ascii(const char *src); +char *cet_str_us_ascii_to_utf8(const char *src); +extern cet_cs_vec_t cet_cs_vec_ansi_x3_4_1968; + + +extern cet_cs_vec_t cet_cs_vec_utf8; + + +/* Missing defines in older expat libraries | CET-REVIEW */ + +/* Taken from expat_external.h (Expat 1.95.7) */ + +#ifndef XML_STATUS_OK +# define XML_STATUS_OK 1 +#endif +#ifndef XML_STATUS_ERROR +# define XML_STATUS_ERROR 0 +#endif + + +#ifndef XMLCALL +#if defined(XML_USE_MSC_EXTENSIONS) +#define XMLCALL __cdecl +#elif defined(__GNUC__) && defined(__i386) +#define XMLCALL __attribute__((cdecl)) +#else +/* For any platform which uses this definition and supports more than + one calling convention, we need to extend this definition to + declare the convention used on that platform, if it's possible to + do so. + + If this is the case for your platform, please file a bug report + with information on how to identify your platform via the C + pre-processor and how to specify the same calling convention as the + platform's malloc() implementation. +*/ +#define XMLCALL +#endif +#endif /* not defined XMLCALL */ + +int XMLCALL cet_lib_expat_UnknownEncodingHandler(void *data, const XML_Char *encoding, XML_Encoding *info); + +/* helpers */ + +char *cet_str_uni_to_any(const short *src, int length, const cet_cs_vec_t *dest_vec); +char *cet_str_any_to_any(const char *src, const cet_cs_vec_t *src_vec, const cet_cs_vec_t *dest_vec); +int cet_valid_char(const char *src, const cet_cs_vec_t *vec); + +/* gpsbabel extensions */ + +void cet_convert_init(const char *cs_name, const int force); +void cet_convert_strings(const cet_cs_vec_t *source, const cet_cs_vec_t *target, const char *format); +void cet_convert_deinit(void); + +void cet_disp_character_set_names(FILE *fout); + +#endif diff --git a/gpsbabel/cetus.c b/gpsbabel/cetus.c index ba44ed1f8..7aca01cdc 100644 --- a/gpsbabel/cetus.c +++ b/gpsbabel/cetus.c @@ -477,7 +477,7 @@ cetus_writewpt(const waypoint *wpt) vdata = (char *)rec + sizeof(*rec); if ( wpt->shortname ) { - char *sn = str_utf8_to_cp1252(wpt->shortname); + char *sn = xstrdup(wpt->shortname); strncpy( vdata, sn, 16 ); vdata[15] = '\0'; xfree(sn); @@ -490,7 +490,7 @@ cetus_writewpt(const waypoint *wpt) if (wpt->gc_data.desc_short.utfstring) { char *stripped_html = strip_html(&wpt->gc_data.desc_short); desc_short = xstrdup("\n\n"); - desc_short = xstrappend(desc_short, str_utf8_to_cp1252(stripped_html)); + desc_short = xstrappend(desc_short, xstrdup(stripped_html)); xfree(stripped_html); } else { desc_short = xstrdup(""); @@ -499,13 +499,13 @@ cetus_writewpt(const waypoint *wpt) if (wpt->gc_data.desc_long.utfstring) { char *stripped_html = strip_html(&wpt->gc_data.desc_long); desc_long = xstrdup("\n\n"); - desc_long = xstrappend(desc_long, str_utf8_to_cp1252(stripped_html)); + desc_long = xstrappend(desc_long, xstrdup(stripped_html)); xfree(stripped_html); } else { desc_long = xstrdup(""); } - desc = wpt->description ? str_utf8_to_cp1252(wpt->description) : + desc = wpt->description ? xstrdup(wpt->description) : xstrdup(""); snprintf(vdata, DESCSZ, "%s%s%s", @@ -529,7 +529,7 @@ cetus_writewpt(const waypoint *wpt) vdata += strlen( vdata ) + 1; if (wpt->gc_data.hint) { - char *hint = str_utf8_to_cp1252(wpt->gc_data.hint); + char *hint = xstrdup(wpt->gc_data.hint); rec->type = WptCache; strncpy( vdata, hint, NOTESZ + 1 ) ; xfree(hint); @@ -638,4 +638,5 @@ ff_vecs_t cetus_vecs = { data_write, NULL, cetus_args, + CET_CHARSET_MS_ANSI, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/coastexp.c b/gpsbabel/coastexp.c index 81b2a19eb..d3d6b195f 100755 --- a/gpsbabel/coastexp.c +++ b/gpsbabel/coastexp.c @@ -24,6 +24,7 @@ static XML_Parser psr; #endif #include +#include "cet_util.h" #include "uuid.h" @@ -306,6 +307,7 @@ ce_rd_init(const char *fname) fatal(MYNAME ":Cannot create XML parser\n"); } + XML_SetUnknownEncodingHandler(psr, cet_lib_expat_UnknownEncodingHandler, NULL); XML_SetElementHandler(psr, ce_start, ce_end); cdatastr = xcalloc(MY_CBUF,1); element = xcalloc(MY_CBUF,1); @@ -634,4 +636,5 @@ ff_vecs_t coastexp_vecs = { ce_write, NULL, NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/copilot.c b/gpsbabel/copilot.c index 787e5be43..0527c5644 100644 --- a/gpsbabel/copilot.c +++ b/gpsbabel/copilot.c @@ -200,5 +200,7 @@ ff_vecs_t copilot_vecs = { wr_deinit, data_read, data_write, - NULL + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/csv_util.c b/gpsbabel/csv_util.c index 263d4f95c..5979486e3 100644 --- a/gpsbabel/csv_util.c +++ b/gpsbabel/csv_util.c @@ -1075,7 +1075,7 @@ xcsv_waypt_pr(const waypoint *wpt) description = shortname; } else if (description) { char *odesc = description; - description = str_utf8_to_ascii(odesc); + description = xstrdup(odesc); xfree(odesc); } diff --git a/gpsbabel/defs.h b/gpsbabel/defs.h index a0b5eeb62..c949a3177 100644 --- a/gpsbabel/defs.h +++ b/gpsbabel/defs.h @@ -27,6 +27,8 @@ #include #include "queue.h" #include "gbtypes.h" +#include "cet.h" +#include "cet_util.h" /* @@ -100,7 +102,9 @@ typedef struct { unsigned int masked_objective; int verbose_status; /* set by GUI wrappers for status */ int no_smart_icons; - int no_smart_names; + int no_smart_names; + cet_cs_vec_t *charset; + char *charset_name; } global_options; extern global_options global_opts; @@ -348,6 +352,8 @@ void free_gpx_extras (xml_tag * tag); void xcsv_setup_internal_style(const char *style_buf); void xcsv_read_internal_style(const char *style_buf); waypoint * find_waypt_by_name(const char *name); +void waypt_backup(unsigned int *count, queue **head_bak); +void waypt_restore(unsigned int count, queue *head_bak); route_head *route_head_alloc(void); void route_add (waypoint *); @@ -366,6 +372,10 @@ void route_flush_all(void); unsigned int route_waypt_count(void); unsigned int route_count(void); unsigned int track_count(void); +void route_backup(unsigned int *count, queue **head_bak); +void route_restore(unsigned int count, queue *head_bak); +void track_backup(unsigned int *count, queue **head_bak); +void track_restore(unsigned int count, queue *head_bak); /* * All shortname functions take a shortname handle as the first arg. @@ -481,6 +491,8 @@ typedef struct ff_vecs { ff_write write; ff_exit exit; arglist_t *args; + char *encode; + int fixed_encode; } ff_vecs_t; typedef struct style_vecs { @@ -592,10 +604,17 @@ char * strip_nastyhtml(const char * in); /* * Character encoding transformations. */ -char * str_utf8_to_cp1252(const char * str); -char * str_utf8_to_ascii(const char * str); -char * str_iso8859_1_to_utf8(const char *str ); +#define CET_NOT_CONVERTABLE_DEFAULT '$' +#define CET_CHARSET_ASCII "US-ASCII" +#define CET_CHARSET_UTF8 "UTF-8" +#define CET_CHARSET_MS_ANSI "MS-ANSI" + +#define str_utf8_to_cp1252(str) cet_str_utf8_to_cp1252((str)) +#define str_cp1252_to_utf8(str) cet_str_cp1252_to_utf8((str)) + +#define str_utf8_to_iso8859_1(str) cet_str_utf8_to_iso8859_1((str)) +#define str_iso8859_1_to_utf8(str) cet_str_iso8859_1_to_utf8((str)) /* this lives in gpx.c */ time_t xml_parse_time( const char *cdatastr ); diff --git a/gpsbabel/delgpl.c b/gpsbabel/delgpl.c index 3e65936bf..ccc050eba 100644 --- a/gpsbabel/delgpl.c +++ b/gpsbabel/delgpl.c @@ -120,5 +120,7 @@ ff_vecs_t gpl_vecs = { gpl_wr_deinit, gpl_read, gpl_write, - NULL + NULL, + NULL, + CET_CHARSET_UTF8, 1 /* there is no need to convert anything | CET-REVIEW */ }; diff --git a/gpsbabel/easygps.c b/gpsbabel/easygps.c index 7d804e3c7..1d4c950ae 100644 --- a/gpsbabel/easygps.c +++ b/gpsbabel/easygps.c @@ -272,5 +272,6 @@ ff_vecs_t easygps_vecs = { data_read, data_write, NULL, - easygps_args + easygps_args, + CET_CHARSET_ASCII, 0 /* CET REVIEW */ }; diff --git a/gpsbabel/garmin.c b/gpsbabel/garmin.c index 935266c29..75fc9e1fb 100644 --- a/gpsbabel/garmin.c +++ b/gpsbabel/garmin.c @@ -662,7 +662,8 @@ ff_vecs_t garmin_vecs = { data_read, data_write, NULL, - garmin_args + garmin_args, + CET_CHARSET_MS_ANSI, 0 /* CET-REVIEW */ }; static const char *d103_icons[16] = { diff --git a/gpsbabel/gcdb.c b/gpsbabel/gcdb.c index 8f9727736..f5846882d 100644 --- a/gpsbabel/gcdb.c +++ b/gpsbabel/gcdb.c @@ -338,5 +338,7 @@ ff_vecs_t gcdb_vecs = { wr_deinit, data_read, data_write, - NULL + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/gdb.c b/gpsbabel/gdb.c index 2db870f5d..a6f98af2b 100644 --- a/gpsbabel/gdb.c +++ b/gpsbabel/gdb.c @@ -1688,7 +1688,8 @@ ff_vecs_t gdb_vecs = { gdb_read, gdb_write, NULL, - gdb_args + gdb_args, + CET_CHARSET_MS_ANSI, 1 /* CET-REVIEW */ }; /*******************************************************************************/ diff --git a/gpsbabel/geo.c b/gpsbabel/geo.c index 11cd0f72d..058cff6f2 100644 --- a/gpsbabel/geo.c +++ b/gpsbabel/geo.c @@ -206,5 +206,6 @@ ff_vecs_t geo_vecs = { geo_read, geo_write, NULL, - geo_args + geo_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/geoniche.c b/gpsbabel/geoniche.c index b0c85be65..190c96ecb 100644 --- a/gpsbabel/geoniche.c +++ b/gpsbabel/geoniche.c @@ -534,5 +534,6 @@ ff_vecs_t geoniche_vecs = data_read, data_write, NULL, - Args + Args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/glogbook.c b/gpsbabel/glogbook.c index 8b15a6856..f9e21ffc4 100644 --- a/gpsbabel/glogbook.c +++ b/gpsbabel/glogbook.c @@ -177,6 +177,6 @@ ff_vecs_t glogbook_vecs = { glogbook_read, glogbook_write, NULL, - glogbook_args + glogbook_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; - diff --git a/gpsbabel/google.c b/gpsbabel/google.c index ab09b35cc..6ac92f0df 100644 --- a/gpsbabel/google.c +++ b/gpsbabel/google.c @@ -221,5 +221,6 @@ ff_vecs_t google_vecs = { google_read, NULL, NULL, - NULL + NULL, + CET_CHARSET_UTF8, 1 /* CET-REVIEW */ }; diff --git a/gpsbabel/gpilots.c b/gpsbabel/gpilots.c index 6af407510..ad661de23 100644 --- a/gpsbabel/gpilots.c +++ b/gpsbabel/gpilots.c @@ -457,5 +457,6 @@ ff_vecs_t gpilots_vecs = { data_read, data_write, NULL, - my_args + my_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/gpspilot.c b/gpsbabel/gpspilot.c index 712b0e392..3c28631bc 100644 --- a/gpsbabel/gpspilot.c +++ b/gpsbabel/gpspilot.c @@ -255,5 +255,6 @@ ff_vecs_t gpspilot_vecs = { data_read, data_write, NULL, - gpspilot_args + gpspilot_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/gpsutil.c b/gpsbabel/gpsutil.c index 983f6649b..e71ab5c77 100644 --- a/gpsbabel/gpsutil.c +++ b/gpsbabel/gpsutil.c @@ -109,7 +109,7 @@ gpsutil_disp(const waypoint *wpt) { double lon,lat; const char *icon_token; - char *tdesc = str_utf8_to_ascii(wpt->description); + char *tdesc = xstrdup(wpt->description); icon_token = mag_find_token_from_descr(wpt->icon_descr); @@ -149,5 +149,7 @@ ff_vecs_t gpsutil_vecs = { wr_deinit, data_read, data_write, - NULL + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/gpx.c b/gpsbabel/gpx.c index f11401bfd..120c759f2 100644 --- a/gpsbabel/gpx.c +++ b/gpsbabel/gpx.c @@ -21,6 +21,7 @@ #include "defs.h" #include "xmlgeneric.h" +#include "cet_util.h" #ifndef NO_EXPAT #include static XML_Parser psr; @@ -939,6 +940,8 @@ gpx_rd_init(const char *fname) if (!psr) { fatal(MYNAME ": Cannot create XML Parser\n"); } + XML_SetUnknownEncodingHandler(psr, cet_lib_expat_UnknownEncodingHandler, NULL); + cdatastr = vmem_alloc(1, 0); *((char *)cdatastr.mem) = '\0'; @@ -1426,7 +1429,7 @@ gpx_write(void) setshort_length(mkshort_handle, short_length); - fprintf(ofd, "\n"); + fprintf(ofd, "\n", global_opts.charset_name); fprintf(ofd, " static XML_Parser psr; @@ -236,6 +237,7 @@ hsa_ndv_rd_init(const char *fname) fatal(MYNAME ":Cannot create XML parser\n"); } + XML_SetUnknownEncodingHandler(psr, cet_lib_expat_UnknownEncodingHandler, NULL); XML_SetElementHandler(psr, hsa_ndv_start, hsa_ndv_end); cdatastr = xcalloc(MY_CBUF,1); XML_SetCharacterDataHandler(psr, hsa_ndv_cdata); @@ -352,7 +354,8 @@ ff_vecs_t HsaEndeavourNavigator_vecs = { hsa_ndv_read, hsa_ndv_write, NULL, - hsa_ndv_args + hsa_ndv_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; ////////////////////////////////////////////////////////////////////////// diff --git a/gpsbabel/html.c b/gpsbabel/html.c index 7fc724705..9620861ca 100644 --- a/gpsbabel/html.c +++ b/gpsbabel/html.c @@ -273,5 +273,6 @@ ff_vecs_t html_vecs = { NULL, data_write, NULL, - html_args + html_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/igc.c b/gpsbabel/igc.c index 95c7d41ac..05b3877d8 100644 --- a/gpsbabel/igc.c +++ b/gpsbabel/igc.c @@ -902,5 +902,6 @@ ff_vecs_t igc_vecs = { data_read, data_write, NULL, - igc_args + igc_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/kml.c b/gpsbabel/kml.c index 5d2b6baec..834454eb9 100644 --- a/gpsbabel/kml.c +++ b/gpsbabel/kml.c @@ -402,5 +402,6 @@ ff_vecs_t kml_vecs = { kml_read, kml_write, NULL, - kml_args + kml_args, + CET_CHARSET_UTF8, 1 /* CET-REVIEW */ }; diff --git a/gpsbabel/lowranceusr.c b/gpsbabel/lowranceusr.c index fd6d4288d..deb745562 100644 --- a/gpsbabel/lowranceusr.c +++ b/gpsbabel/lowranceusr.c @@ -946,5 +946,6 @@ ff_vecs_t lowranceusr_vecs = { data_read, data_write, NULL, - lowranceusr_args + lowranceusr_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/maggeo.c b/gpsbabel/maggeo.c index 719ea0aab..9a24d4198 100644 --- a/gpsbabel/maggeo.c +++ b/gpsbabel/maggeo.c @@ -111,7 +111,7 @@ append(char *buf, const char *str) return; } - cleansed1 = str_utf8_to_ascii(str); + cleansed1 = xstrdup(str); cleansed2 = m330_cleanse(cleansed1); strcat(buf, cleansed2); @@ -235,4 +235,7 @@ ff_vecs_t maggeo_vecs = { maggeo_wr_deinit, maggeo_read, maggeo_write, + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/magnav.c b/gpsbabel/magnav.c index ebd432a47..0e07af7e8 100644 --- a/gpsbabel/magnav.c +++ b/gpsbabel/magnav.c @@ -270,5 +270,7 @@ ff_vecs_t magnav_vec = { wr_deinit, data_read, data_write, - NULL + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/magproto.c b/gpsbabel/magproto.c index ec96fca44..f252e9da8 100644 --- a/gpsbabel/magproto.c +++ b/gpsbabel/magproto.c @@ -1440,7 +1440,8 @@ ff_vecs_t mag_svecs = { mag_read, mag_write, NULL, - mag_sargs + mag_sargs, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; ff_vecs_t mag_fvecs = { @@ -1453,7 +1454,8 @@ ff_vecs_t mag_fvecs = { mag_read, mag_write, NULL, - mag_fargs + mag_fargs, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; /* @@ -1468,5 +1470,7 @@ ff_vecs_t magX_fvecs = { mag_deinit, mag_read, mag_write, - NULL, + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/main.c b/gpsbabel/main.c index 01e0adaac..3806061b6 100644 --- a/gpsbabel/main.c +++ b/gpsbabel/main.c @@ -19,6 +19,8 @@ #include "defs.h" +#include "cet.h" +#include "cet_util.h" #include global_options global_opts; @@ -53,9 +55,11 @@ usage(const char *pname, int shorter) " -r Process route information\n" " -t Process track information\n" " -w Process waypoint information [default]\n" +" -c Character set for next operation\n" " -N No smart icons on output\n" " -x filtername Invoke filter (place between inputs and output) \n" " -D level Set debug level [%d]\n" +" -l Print GPSBabel builtin character sets and exit\n" " -h, -? Print detailed help and exit\n" " -V Print GPSBabel version and exit\n" "\n" @@ -93,9 +97,13 @@ main(int argc, char *argv[]) int opt_version = 0; int did_something = 0; const char *prog_name = argv[0]; /* argv is modified during processing */ + queue *wpt_head_bak, *rte_head_bak, *trk_head_bak; /* #ifdef UTF8_SUPPORT */ + unsigned int wpt_ct_bak, rte_ct_bak, trk_ct_bak; /* #ifdef UTF8_SUPPORT */ global_opts.objective = wptdata; global_opts.masked_objective = NOTHINGMASK; /* this makes the default mask behaviour slightly different */ + global_opts.charset = NULL; /* #ifdef UTF8_SUPPORT */ + global_opts.charset_name = NULL; /* #ifdef UTF8_SUPPORT */ #ifdef DEBUG_MEM debug_mem_open(); @@ -106,6 +114,7 @@ main(int argc, char *argv[]) debug_mem_output( "\n" ); #endif + cet_register(); waypt_init(); route_init(); @@ -144,6 +153,10 @@ main(int argc, char *argv[]) } switch (c) { + case 'c': + optarg = argv[argn][2] ? argv[argn]+2 : argv[++argn]; + cet_convert_init(optarg, 1); + break; case 'i': optarg = argv[argn][2] ? argv[argn]+2 : argv[++argn]; @@ -169,9 +182,16 @@ main(int argc, char *argv[]) } /* simulates the default behaviour of waypoints */ if (doing_nothing) global_opts.masked_objective |= WPTDATAMASK; + + cet_convert_init(ivecs->encode, ivecs->fixed_encode); /* init by module vec */ + ivecs->rd_init(fname); ivecs->read(); ivecs->rd_deinit(); + + cet_convert_strings(global_opts.charset, NULL, NULL); + cet_convert_deinit(); + did_something = 1; break; case 'F': @@ -185,9 +205,31 @@ main(int argc, char *argv[]) if (ovecs->wr_init == NULL) { fatal ("Format does not support writing.\n"); } + + cet_convert_init(ovecs->encode, ovecs->fixed_encode); + + wpt_ct_bak = -1; + rte_ct_bak = -1; + trk_ct_bak = -1; + + if (global_opts.charset != &cet_cs_vec_utf8) + { + waypt_backup(&wpt_ct_bak, &wpt_head_bak); + route_backup(&rte_ct_bak, &rte_head_bak); + track_backup(&trk_ct_bak, &trk_head_bak); + + cet_convert_strings(NULL, global_opts.charset, NULL); + } + ovecs->wr_init(ofname); ovecs->write(); ovecs->wr_deinit(); + + cet_convert_deinit(); + + if (wpt_ct_bak != -1) waypt_restore(wpt_ct_bak, wpt_head_bak); + if (rte_ct_bak != -1) route_restore(rte_ct_bak, rte_head_bak); + if (trk_ct_bak != -1) track_restore(trk_ct_bak, trk_head_bak); } break; case 's': @@ -270,6 +312,10 @@ main(int argc, char *argv[]) case '?': usage(argv[0],0); exit(0); + case 'l': + cet_disp_character_set_names(stdout); + exit(0); + } } @@ -286,13 +332,26 @@ main(int argc, char *argv[]) did_something = 1; /* simulates the default behaviour of waypoints */ if (doing_nothing) global_opts.masked_objective |= WPTDATAMASK; + + cet_convert_init(ivecs->encode, 1); + ivecs->rd_init(argv[0]); ivecs->read(); ivecs->rd_deinit(); - if (argc == 2 && ovecs) { + + cet_convert_strings(global_opts.charset, NULL, NULL); + cet_convert_deinit(); + + if (argc == 2 && ovecs) + { + cet_convert_init(ovecs->encode, 1); + cet_convert_strings(NULL, global_opts.charset, NULL); + ovecs->wr_init(argv[1]); ovecs->write(); ovecs->wr_deinit(); + + cet_convert_deinit(); } } else if (argc) { @@ -300,11 +359,16 @@ main(int argc, char *argv[]) exit(0); } if (ovecs == NULL) + { + cet_convert_init(CET_CHARSET_ASCII, 1); + cet_convert_strings(NULL, global_opts.charset, NULL); waypt_disp_all(waypt_disp); + } if (!did_something) fatal ("Nothing to do! Use '%s -h' for command-line options.\n", prog_name); + cet_deregister(); waypt_flush_all(); route_flush_all(); exit_vecs(); diff --git a/gpsbabel/mapsend.c b/gpsbabel/mapsend.c index 40b7e97c1..db036ebbd 100644 --- a/gpsbabel/mapsend.c +++ b/gpsbabel/mapsend.c @@ -335,14 +335,14 @@ mapsend_waypt_pr(const waypoint *waypointp) * them into the Mapsend file. */ - tmp = str_utf8_to_ascii(sn); + tmp = xstrdup(sn); c = tmp ? strlen(tmp) : 0; fwrite(&c, 1, 1, mapsend_file_out); fwrite(tmp, c, 1, mapsend_file_out); if (tmp) xfree(tmp); - tmp = str_utf8_to_ascii(waypointp->description); + tmp = waypointp->description; if (tmp) c = strlen(tmp); else @@ -351,8 +351,6 @@ mapsend_waypt_pr(const waypoint *waypointp) if (c > 30) c = 30; fwrite(&c, 1, 1, mapsend_file_out); fwrite(tmp, c, 1, mapsend_file_out); - if (tmp) - xfree(tmp); /* #, icon, status */ n = ++cnt; @@ -613,5 +611,7 @@ ff_vecs_t mapsend_vecs = { mapsend_wr_deinit, mapsend_read, mapsend_wpt_write, - NULL + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/mapsource.c b/gpsbabel/mapsource.c index 0ba7bd83b..3fc38cad8 100644 --- a/gpsbabel/mapsource.c +++ b/gpsbabel/mapsource.c @@ -690,7 +690,7 @@ mps_waypoint_w(FILE *mps_file, int mps_ver, const waypoint *wpt, const int isRou icon = mps_converted_icon_number(icon, mps_ver, MAPSOURCE); /* two NULL (0x0) bytes at end of each string */ - ascii_description = wpt->description ? str_utf8_to_ascii(wpt->description) : xstrdup(""); + ascii_description = wpt->description ? xstrdup(wpt->description) : xstrdup(""); reclen = strlen(ident) + strlen(ascii_description) + 2; if ((mps_ver == 4) || (mps_ver == 5)) { /* v4.06 & V5.0*/ @@ -2179,5 +2179,6 @@ ff_vecs_t mps_vecs = { mps_read, mps_write, NULL, - mps_args + mps_args, + CET_CHARSET_MS_ANSI /* CET-REVIEW */ }; diff --git a/gpsbabel/navicache.c b/gpsbabel/navicache.c index c829b1c9c..a2477749c 100644 --- a/gpsbabel/navicache.c +++ b/gpsbabel/navicache.c @@ -17,6 +17,7 @@ */ #include "defs.h" +#include "cet_util.h" #if !NO_EXPAT #include static XML_Parser psr; @@ -208,6 +209,7 @@ nav_rd_init(const char *fname) fatal(MYNAME ":Cannot create XML parser\n"); } + XML_SetUnknownEncodingHandler(psr, cet_lib_expat_UnknownEncodingHandler, NULL); XML_SetElementHandler(psr, nav_start, nav_end); } @@ -265,4 +267,5 @@ ff_vecs_t navicache_vecs = { nav_write, NULL, nav_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/netstumbler.c b/gpsbabel/netstumbler.c index 554d513b2..aa0d52b7d 100644 --- a/gpsbabel/netstumbler.c +++ b/gpsbabel/netstumbler.c @@ -301,5 +301,6 @@ ff_vecs_t netstumbler_vecs = { data_read, NULL, NULL, - netstumbler_args + netstumbler_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/nmea.c b/gpsbabel/nmea.c index 11515d3df..1fae20fec 100644 --- a/gpsbabel/nmea.c +++ b/gpsbabel/nmea.c @@ -683,5 +683,6 @@ ff_vecs_t nmea_vecs = { nmea_read, nmea_write, NULL, - nmea_args + nmea_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/overlay.c b/gpsbabel/overlay.c index b6b69518b..4f668e589 100644 --- a/gpsbabel/overlay.c +++ b/gpsbabel/overlay.c @@ -698,5 +698,6 @@ ff_vecs_t overlay_vecs = { ovl_read, ovl_write, NULL, - ovl_args + ovl_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/ozi.c b/gpsbabel/ozi.c index b655f61a2..c6049891a 100644 --- a/gpsbabel/ozi.c +++ b/gpsbabel/ozi.c @@ -707,5 +707,6 @@ ff_vecs_t ozi_vecs = { data_read, data_write, NULL, - ozi_args + ozi_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/palmdoc.c b/gpsbabel/palmdoc.c index 8a5054645..5e839e2e8 100644 --- a/gpsbabel/palmdoc.c +++ b/gpsbabel/palmdoc.c @@ -623,7 +623,8 @@ ff_vecs_t palmdoc_vecs = { NULL, data_write, NULL, - palmdoc_args + palmdoc_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/pathaway.c b/gpsbabel/pathaway.c index ab85b0cf2..8d9a8db09 100644 --- a/gpsbabel/pathaway.c +++ b/gpsbabel/pathaway.c @@ -697,5 +697,6 @@ ff_vecs_t ppdb_vecs = { ppdb_read, ppdb_write, NULL, - ppdb_args + ppdb_args, + "ISO-8859-1" }; diff --git a/gpsbabel/pcx.c b/gpsbabel/pcx.c index 1bafae196..4fe7f42d6 100644 --- a/gpsbabel/pcx.c +++ b/gpsbabel/pcx.c @@ -274,5 +274,6 @@ ff_vecs_t pcx_vecs = { data_read, data_write, NULL, - pcx_args + pcx_args, + CET_CHARSET_ASCII, 1 /* CET-REVIEW */ }; diff --git a/gpsbabel/psitrex.c b/gpsbabel/psitrex.c index 9c3da7da9..6f0a8d6b6 100755 --- a/gpsbabel/psitrex.c +++ b/gpsbabel/psitrex.c @@ -794,5 +794,6 @@ ff_vecs_t psit_vecs = { psit_read, psit_write, NULL, - psit_args + psit_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/psp.c b/gpsbabel/psp.c index b3a04e650..dc66048f8 100644 --- a/gpsbabel/psp.c +++ b/gpsbabel/psp.c @@ -21,6 +21,7 @@ */ #include "defs.h" +#include "cet_util.h" #include #define MYNAME "PSP" @@ -154,6 +155,7 @@ valid_psp_header(char * header) static char * buffer_washer(char * buff, int buffer_len) { +/* original code int i; for (i = 0 ; i < buffer_len - 1; i++) { @@ -164,6 +166,11 @@ buffer_washer(char * buff, int buffer_len) } } + return (buff); +*/ + char *c = cet_str_uni_to_any((const short *)buff, buffer_len >> 1, global_opts.charset); + strncpy(buff, c, buffer_len); + xfree(c); return (buff); } @@ -466,5 +473,7 @@ ff_vecs_t psp_vecs = { psp_wr_deinit, psp_read, psp_write, - NULL + NULL, + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/quovadis.c b/gpsbabel/quovadis.c index e71eda892..455d010a0 100644 --- a/gpsbabel/quovadis.c +++ b/gpsbabel/quovadis.c @@ -293,5 +293,6 @@ ff_vecs_t quovadis_vecs = { data_read, data_write, NULL, - quovadis_args + quovadis_args, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/reference/cet/cet-sample.cp1250.txt b/gpsbabel/reference/cet/cet-sample.cp1250.txt new file mode 100644 index 000000000..0a59e0bc0 --- /dev/null +++ b/gpsbabel/reference/cet/cet-sample.cp1250.txt @@ -0,0 +1,17 @@ +Group sID sDescription fLat fLong fEasting fNorthing fAlt iColour iSymbol sHyperLink +new 01 Hohndorf 50.738297 12.683029 -99999999.00 255 1 (null) +new 0x9E ž - latin small letter z with caron 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xC9 É - latin capital letter e with circumflex 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xF0 ð - latin small letter eth (icelandic) 50.497971 13.027725 -99999999.00 255 1 (null) +new CS Ovládací Prohlížení lokální síte 50.514406 13.638634 -99999999.00 255 1 (null) +new DA Tåning netværkssøgning áâãäåæéë 56.011734 9.847870 -99999999.00 255 1 (null) +new DE Himmelmühle äöüÄÖÜß 50.625865 13.060611 -99999999.00 255 1 (null) +new EO Trasercado de la loka ret 50.495281 13.027645 -99999999.00 255 1 (null) +new ES Matalascañas Navegación Táliga 37.007446 -6.558838 -99999999.00 255 1 (null) +new FR Boissière-École Contrôle réseau Mâle 48.679047 1.652069 -99999999.00 255 1 (null) +new HR Pregledavanje lokalne mreže 50.477937 12.510391 -99999999.00 255 1 (null) +new HU Hõgyész Vezérlõközpont Hálózat 46.491394 18.424072 -99999999.00 255 1 (null) +new IS Borgarfjörður 65.522461 -13.823547 -99999999.00 255 1 (null) +new SK Ovládacie centrum 50.724214 13.524871 -99999999.00 255 1 (null) +new X1 žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× 50.497971 13.027725 -99999999.00 255 1 (null) +new X2 žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× 50.497971 13.027725 -99999999.00 255 1 (null) diff --git a/gpsbabel/reference/cet/cet-sample.gdb b/gpsbabel/reference/cet/cet-sample.gdb new file mode 100644 index 0000000000000000000000000000000000000000..dab0140a03fc048a3bea5f80a5befab97a746b8f GIT binary patch literal 1919 zcmbuAO>7%Q6vy9INRR`nRB`HQAdzsymO93*h%Z*`q&T4TDr*Vjh5+y3Niii~6uGb%Fv4g}MW@cw+ z-*4aly?HZbpJy331OVd#2o7T(9x^%AxXkJBZqXzpLL%Yt2^fjS!qHgdZJ45kX{#t1 zhx52S9Uj3xXnS1^z{{$hq=^d zGFs3b+NSb=s!LWhGJ;<|0R6>9HzAwoQ{n%F-fpA!xy#Ylkj}WErlzyu1F%zwEqmDH zbU*0MZySSI_xb>wDT%5^*``X)N-HNe7r41egq5!f9PLeqcX&rS2EAFFB+H!TbV@?3 zJWTwT%FQu1k;iFze9T|)yMK{;@u%0J0x!Z$&D71TN=)vQ)@0tcpJtm2)s;u9wYB<2 zPkfWN7j+W_pVv2~&V^v;v#XPstGZ!uVeIAvSIMf{PvPRWef*dY1OY`i>}-NRYXwyebg1 z=iP(Km#;xZRUl#Mwym#Aer$Vn4=dI@K4; zVzt3}S$hf2N}d&5qa|w2p{gjUFgY)U%he;?W zgAkt#2a>1WZz<3$PAwgRQg!9@_-0`{w7>`qk)pkER~tLhTJYKj?p-w9EeXQoXYL!}_m(eY + + + + + + 01 + Hohndorf + Hohndorf + City (Small) + + + + 0x9E + ž - latin small letter z with caron + ž - latin small letter z with caron + City (Small) + + + + 0xC9 + É - latin capital letter e with circumflex + É - latin capital letter e with circumflex + City (Small) + + + + 0xF0 + ð - latin small letter eth (icelandic) + ð - latin small letter eth (icelandic) + City (Small) + + + + CS + Ovládací, Prohlížení lokální síte + Czechia (cz) + Waypoint + + + + DA + TÃ¥ning, netværkssøgning, áâãäåæéë + TÃ¥ning, netværkssøgning, áâãäåæéë + Waypoint + + + + DE + Himmelmühle, ä,ö,ü,Ä,Ö,Ü,ß + ermany (de) + Waypoint + + + + EO + Trasercado de la loka ret + ?? (oe) + Waypoint + + + + ES + Matalascañas, Navegación, Táliga + Matalascañas, Navegación, Táliga + Waypoint + + + + FR + Boissière-École, Contrôle, réseau, Mâle + Boissière-École, Contrôle, réseau, Mâle + Waypoint + + + + HR + Pregledavanje lokalne mreže + roatia (local name: Hrvatska) (hr) + Waypoint + + + + HU + Hõgyész, Vezérlõközpont, Hálózat + Hõgyész, Vezérlõközpont, Hálózat + City (Small) + + + + IS + Borgarfjörður + Borgarfjörður + Waypoint + + + + SK + Ovládacie centrum + ei D09544,Neuhausen/Cämmerswalde + Waypoint + + + + X1 + žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× + žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× + Diamond, Blue + + + + X2 + žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× + žðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× + Diamond, Blue + + diff --git a/gpsbabel/reference/cet/cet-sample.latin1.txt b/gpsbabel/reference/cet/cet-sample.latin1.txt new file mode 100644 index 000000000..f7cf4ef30 --- /dev/null +++ b/gpsbabel/reference/cet/cet-sample.latin1.txt @@ -0,0 +1,17 @@ +Group sID sDescription fLat fLong fEasting fNorthing fAlt iColour iSymbol sHyperLink +new 01 Hohndorf 50.738297 12.683029 -99999999.00 255 1 (null) +new 0x9E $ - latin small letter z with caron 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xC9 É - latin capital letter e with circumflex 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xF0 ð - latin small letter eth (icelandic) 50.497971 13.027725 -99999999.00 255 1 (null) +new CS Ovládací Prohlí$ení lokální síte 50.514406 13.638634 -99999999.00 255 1 (null) +new DA Tåning netværkssøgning áâãäåæéë 56.011734 9.847870 -99999999.00 255 1 (null) +new DE Himmelmühle äöüÄÖÜß 50.625865 13.060611 -99999999.00 255 1 (null) +new EO Trasercado de la loka ret 50.495281 13.027645 -99999999.00 255 1 (null) +new ES Matalascañas Navegación Táliga 37.007446 -6.558838 -99999999.00 255 1 (null) +new FR Boissière-École Contrôle réseau Mâle 48.679047 1.652069 -99999999.00 255 1 (null) +new HR Pregledavanje lokalne mre$e 50.477937 12.510391 -99999999.00 255 1 (null) +new HU Hõgyész Vezérlõközpont Hálózat 46.491394 18.424072 -99999999.00 255 1 (null) +new IS Borgarfjörður 65.522461 -13.823547 -99999999.00 255 1 (null) +new SK Ovládacie centrum 50.724214 13.524871 -99999999.00 255 1 (null) +new X1 $ðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× 50.497971 13.027725 -99999999.00 255 1 (null) +new X2 $ðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× 50.497971 13.027725 -99999999.00 255 1 (null) diff --git a/gpsbabel/reference/cet/cet-sample.latin2.txt b/gpsbabel/reference/cet/cet-sample.latin2.txt new file mode 100644 index 000000000..a10be2a1d --- /dev/null +++ b/gpsbabel/reference/cet/cet-sample.latin2.txt @@ -0,0 +1,17 @@ +Group sID sDescription fLat fLong fEasting fNorthing fAlt iColour iSymbol sHyperLink +new 01 Hohndorf 50.738297 12.683029 -99999999.00 255 1 (null) +new 0x9E ¾ - latin small letter z with caron 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xC9 É - latin capital letter e with circumflex 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xF0 ð - latin small letter eth (icelandic) 50.497971 13.027725 -99999999.00 255 1 (null) +new CS Ovládací Prohlí¾ení lokální síte 50.514406 13.638634 -99999999.00 255 1 (null) +new DA Tåning netværkssøgning áâãäåæéë 56.011734 9.847870 -99999999.00 255 1 (null) +new DE Himmelmühle äöüÄÖÜß 50.625865 13.060611 -99999999.00 255 1 (null) +new EO Trasercado de la loka ret 50.495281 13.027645 -99999999.00 255 1 (null) +new ES Matalascañas Navegación Táliga 37.007446 -6.558838 -99999999.00 255 1 (null) +new FR Boissière-École Contrôle réseau Mâle 48.679047 1.652069 -99999999.00 255 1 (null) +new HR Pregledavanje lokalne mre¾e 50.477937 12.510391 -99999999.00 255 1 (null) +new HU Hõgyész Vezérlõközpont Hálózat 46.491394 18.424072 -99999999.00 255 1 (null) +new IS Borgarfjörður 65.522461 -13.823547 -99999999.00 255 1 (null) +new SK Ovládacie centrum 50.724214 13.524871 -99999999.00 255 1 (null) +new X1 ¾ðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× 50.497971 13.027725 -99999999.00 255 1 (null) +new X2 ¾ðÉéÀàÈèÙùÂâÊêÎîÄäËëÖöÜüÆæÅ娸ÇçÑñ²³½É× 50.497971 13.027725 -99999999.00 255 1 (null) diff --git a/gpsbabel/reference/cet/cet-sample.macroman.txt b/gpsbabel/reference/cet/cet-sample.macroman.txt new file mode 100644 index 000000000..75cfcd7bd --- /dev/null +++ b/gpsbabel/reference/cet/cet-sample.macroman.txt @@ -0,0 +1,17 @@ +Group sID sDescription fLat fLong fEasting fNorthing fAlt iColour iSymbol sHyperLink +new 01 Hohndorf 50.738297 12.683029 -99999999.00 255 1 (null) +new 0x9E $ - latin small letter z with caron 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xC9 ƒ - latin capital letter e with circumflex 50.497971 13.027725 -99999999.00 255 1 (null) +new 0xF0 ð - latin small letter eth (icelandic) 50.497971 13.027725 -99999999.00 255 1 (null) +new CS Ovl‡dac’ Prohl’$en’ lok‡ln’ s’te 50.514406 13.638634 -99999999.00 255 1 (null) +new DA TŒning netv¾rkss¿gning ‡‰‹ŠŒ¾Ž‘ 56.011734 9.847870 -99999999.00 255 1 (null) +new DE HimmelmŸhle ŠšŸ€…†§ 50.625865 13.060611 -99999999.00 255 1 (null) +new EO Trasercado de la loka ret 50.495281 13.027645 -99999999.00 255 1 (null) +new ES Matalasca–as Navegaci—n T‡liga 37.007446 -6.558838 -99999999.00 255 1 (null) +new FR Boissire-ƒcole Contr™le rŽseau M‰le 48.679047 1.652069 -99999999.00 255 1 (null) +new HR Pregledavanje lokalne mre$e 50.477937 12.510391 -99999999.00 255 1 (null) +new HU H›gyŽsz VezŽrl›kšzpont H‡l—zat 46.491394 18.424072 -99999999.00 255 1 (null) +new IS Borgarfjšrður 65.522461 -13.823547 -99999999.00 255 1 (null) +new SK Ovl‡dacie centrum 50.724214 13.524871 -99999999.00 255 1 (null) +new X1 $ðƒŽËˆéôå‰æë”€Šè‘…š†Ÿ®¾Œ¯¿‚„–²³½ƒ× 50.497971 13.027725 -99999999.00 255 1 (null) +new X2 $ðƒŽËˆéôå‰æë”€Šè‘…š†Ÿ®¾Œ¯¿‚„–²³½ƒ× 50.497971 13.027725 -99999999.00 255 1 (null) diff --git a/gpsbabel/reference/route/tef_xml.sample.gpx b/gpsbabel/reference/route/tef_xml.sample.gpx index 969fcc283..201b69e12 100644 --- a/gpsbabel/reference/route/tef_xml.sample.gpx +++ b/gpsbabel/reference/route/tef_xml.sample.gpx @@ -1,4 +1,4 @@ - + - bei D 95183 Töpen + bei D 95183 Töpen B2\Hofer Strasse B2\Hofer Strasse @@ -43,12 +43,12 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ L2357 - bei D 07907 Schleiz/Möschlitz + bei D 07907 Schleiz/Möschlitz L2357 L2357 - bei D 07924 Ziegenrück + bei D 07924 Ziegenrück L2350\Plothental L2350\Plothental @@ -64,13 +64,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ bei D 07907 Schleiz/Langenbuch - K304\Lössauer Strasse - K304\Lössauer Strasse + K304\Lössauer Strasse + K304\Lössauer Strasse bei D 07952 Pausa/Oberreichenau - S316\Am Mühlgraben - S316\Am Mühlgraben + S316\Am Mühlgraben + S316\Am Mühlgraben bei D 08548 Syrau @@ -78,7 +78,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B282/E49\Hauptstrasse - bei D 08525 Plauen/Preißelpöhl + bei D 08525 Plauen/Preißelpöhl Martin-Luther-Strasse Martin-Luther-Strasse @@ -88,14 +88,14 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173\Hauptstrasse - bei D 08543 Pöhl/Helmsgrün - K7880\Helmsgrün-Dorfstrasse - K7880\Helmsgrün-Dorfstrasse + bei D 08543 Pöhl/Helmsgrün + K7880\Helmsgrün-Dorfstrasse + K7880\Helmsgrün-Dorfstrasse - bei D 08543 Herlasgrün - K7811\Herlasgrün-Dorfstrasse - K7811\Herlasgrün-Dorfstrasse + bei D 08543 Herlasgrün + K7811\Herlasgrün-Dorfstrasse + K7811\Herlasgrün-Dorfstrasse bei D 07985 Elsterberg/Reuth @@ -128,7 +128,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173 - D 08115 Schönfels + D 08115 Schönfels K9351\Zwickauer Strasse K9351\Zwickauer Strasse @@ -154,23 +154,23 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ bei D 08209 Auerbach - B169\Göltzschtalstrasse - B169\Göltzschtalstrasse + B169\Göltzschtalstrasse + B169\Göltzschtalstrasse bei D 08209 Auerbach/Beerheide - K7833\Rempesgrüner Strasse - K7833\Rempesgrüner Strasse + K7833\Rempesgrüner Strasse + K7833\Rempesgrüner Strasse - D 08304 Schönheide + D 08304 Schönheide S278\Hauptstrasse S278\Hauptstrasse - bei D 08262 Tannenbergsthal/Jägersgrün - B283\Schönheider Strasse - B283\Schönheider Strasse + bei D 08262 Tannenbergsthal/Jägersgrün + B283\Schönheider Strasse + B283\Schönheider Strasse bei D 08262 Tannenbergsthal @@ -178,22 +178,22 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B283\Klingenthaler Strasse - bei D 08248 Klingenthal/Brunndöbra + bei D 08248 Klingenthal/Brunndöbra S304\Falkensteiner Strasse S304\Falkensteiner Strasse - bei D 08223 Grünbach-Muldenberg + bei D 08223 Grünbach-Muldenberg S302/S304 S302/S304 - bei D 08223 Grünbach + bei D 08223 Grünbach S304\Bahnhofstrasse S304\Bahnhofstrasse - bei D 08261 Schöneck + bei D 08261 Schöneck S301 S301 @@ -203,7 +203,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B283 - bei D 08258 Landwüst + bei D 08258 Landwüst K7844\Rauner Strasse K7844\Rauner Strasse @@ -223,7 +223,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ K7854\Oelsnitzer Strasse - bei D 08538 Burgstein/Dröda + bei D 08538 Burgstein/Dröda S310\Bobenneukirchener Strasse S310\Bobenneukirchener Strasse @@ -256,7 +256,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B2 - bei D 95183 Töpen + bei D 95183 Töpen B2\Hofer Strasse B2\Hofer Strasse @@ -289,19 +289,19 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ rechts abbiegen - in Schönbrunn links abbiegen auf Schönbrunn - Schönbrunn - Schönbrunn + in Schönbrunn links abbiegen auf Schönbrunn + Schönbrunn + Schönbrunn - links abbiegen auf Schönbrunn - Schönbrunn - Schönbrunn + links abbiegen auf Schönbrunn + Schönbrunn + Schönbrunn - halb rechts halten auf Schönbrunn - Schönbrunn - Schönbrunn + halb rechts halten auf Schönbrunn + Schönbrunn + Schönbrunn geradeaus weiter auf L1095 @@ -415,7 +415,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ L2357 - bei D 07907 Schleiz/Möschlitz + bei D 07907 Schleiz/Möschlitz L2357 L2357 @@ -423,9 +423,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ links abbiegen - in Grochwitz halb rechts halten auf Mühlenstrasse - Mühlenstrasse - Mühlenstrasse + in Grochwitz halb rechts halten auf Mühlenstrasse + Mühlenstrasse + Mühlenstrasse geradeaus weiter auf Sackgasse @@ -461,7 +461,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ L1103 - in Ziegenrück halb links halten auf Schleizer Strasse (L1103) + in Ziegenrück halb links halten auf Schleizer Strasse (L1103) Schleizer Strasse (L1103) Schleizer Strasse (L1103) @@ -471,7 +471,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Plothental (L2350) - bei D 07924 Ziegenrück + bei D 07924 Ziegenrück L2350\Plothental L2350\Plothental @@ -526,25 +526,25 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B2 - in Oettersdorf links abbiegen auf Löhmaer Weg (K301) - Löhmaer Weg (K301) - Löhmaer Weg (K301) + in Oettersdorf links abbiegen auf Löhmaer Weg (K301) + Löhmaer Weg (K301) + Löhmaer Weg (K301) - rechts abbiegen auf Löhmaer Weg (K301) - Löhmaer Weg (K301) - Löhmaer Weg (K301) + rechts abbiegen auf Löhmaer Weg (K301) + Löhmaer Weg (K301) + Löhmaer Weg (K301) - links abbiegen auf Löhmaer Weg (K301) - Löhmaer Weg (K301) - Löhmaer Weg (K301) + links abbiegen auf Löhmaer Weg (K301) + Löhmaer Weg (K301) + Löhmaer Weg (K301) rechts abbiegen - in Löhma links abbiegen auf Ortsstrasse + in Löhma links abbiegen auf Ortsstrasse Ortsstrasse Ortsstrasse @@ -592,12 +592,12 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Dorfstrasse - in Lössau links abbiegen + in Lössau links abbiegen bei D 07907 Schleiz/Langenbuch - K304\Lössauer Strasse - K304\Lössauer Strasse + K304\Lössauer Strasse + K304\Lössauer Strasse in Langenbuch links abbiegen auf Thierbacher Strasse (L2348) @@ -616,14 +616,14 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Plauensche Strasse (S316) - in Oberreichenau halb links halten auf Am Mühlgraben (S316) - Am Mühlgraben (S316) - Am Mühlgraben (S316) + in Oberreichenau halb links halten auf Am Mühlgraben (S316) + Am Mühlgraben (S316) + Am Mühlgraben (S316) bei D 07952 Pausa/Oberreichenau - S316\Am Mühlgraben - S316\Am Mühlgraben + S316\Am Mühlgraben + S316\Am Mühlgraben in Syrau halb rechts halten auf B282/E49 Hauptstrasse @@ -651,7 +651,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Martin-Luther-Strasse - bei D 08525 Plauen/Preißelpöhl + bei D 08525 Plauen/Preißelpöhl Martin-Luther-Strasse Martin-Luther-Strasse @@ -666,9 +666,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173 Hammerstrasse - links abbiegen auf Voigtsgrüner Weg (K6605) - Voigtsgrüner Weg (K6605) - Voigtsgrüner Weg (K6605) + links abbiegen auf Voigtsgrüner Weg (K6605) + Voigtsgrüner Weg (K6605) + Voigtsgrüner Weg (K6605) rechts abbiegen auf Zum Plom @@ -709,17 +709,17 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173 Hauptstrasse - links abbiegen auf Gansgrüner Strasse (K7880) - Gansgrüner Strasse (K7880) - Gansgrüner Strasse (K7880) + links abbiegen auf Gansgrüner Strasse (K7880) + Gansgrüner Strasse (K7880) + Gansgrüner Strasse (K7880) - links abbiegen auf Gansgrüner Strasse (K7880) - Gansgrüner Strasse (K7880) - Gansgrüner Strasse (K7880) + links abbiegen auf Gansgrüner Strasse (K7880) + Gansgrüner Strasse (K7880) + Gansgrüner Strasse (K7880) - in Gansgrün links abbiegen auf Dorfstrasse + in Gansgrün links abbiegen auf Dorfstrasse Dorfstrasse Dorfstrasse @@ -737,37 +737,37 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ halb links halten - bei D 08543 Pöhl/Helmsgrün - K7880\Helmsgrün-Dorfstrasse - K7880\Helmsgrün-Dorfstrasse + bei D 08543 Pöhl/Helmsgrün + K7880\Helmsgrün-Dorfstrasse + K7880\Helmsgrün-Dorfstrasse - in Helmsgrün halb rechts halten + in Helmsgrün halb rechts halten - in Herlasgrün rechts abbiegen auf Herlasgrün-Dorfstrasse (K7811) - Herlasgrün-Dorfstrasse (K7811) - Herlasgrün-Dorfstrasse (K7811) + in Herlasgrün rechts abbiegen auf Herlasgrün-Dorfstrasse (K7811) + Herlasgrün-Dorfstrasse (K7811) + Herlasgrün-Dorfstrasse (K7811) - bei D 08543 Herlasgrün - K7811\Herlasgrün-Dorfstrasse - K7811\Herlasgrün-Dorfstrasse + bei D 08543 Herlasgrün + K7811\Herlasgrün-Dorfstrasse + K7811\Herlasgrün-Dorfstrasse - links abbiegen auf Herlasgrün-Christgrüner Strasse - Herlasgrün-Christgrüner Strasse - Herlasgrün-Christgrüner Strasse + links abbiegen auf Herlasgrün-Christgrüner Strasse + Herlasgrün-Christgrüner Strasse + Herlasgrün-Christgrüner Strasse - geradeaus weiter auf Christgrüner Strasse - Christgrüner Strasse - Christgrüner Strasse + geradeaus weiter auf Christgrüner Strasse + Christgrüner Strasse + Christgrüner Strasse - rechts abbiegen auf Dreckschänke (S297) - Dreckschänke (S297) - Dreckschänke (S297) + rechts abbiegen auf Dreckschänke (S297) + Dreckschänke (S297) + Dreckschänke (S297) links abbiegen auf S298 @@ -775,13 +775,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ S298 - in Reimersgrün links abbiegen + in Reimersgrün links abbiegen halb rechts halten - in Coschütz rechts abbiegen auf Friedensstrasse (K7887) + in Coschütz rechts abbiegen auf Friedensstrasse (K7887) Friedensstrasse (K7887) Friedensstrasse (K7887) @@ -841,9 +841,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173/B94 Klinkhardtstrasse - links abbiegen auf B173/B94 Dr.-Külz-Strasse - B173/B94 Dr.-Külz-Strasse - B173/B94 Dr.-Külz-Strasse + links abbiegen auf B173/B94 Dr.-Külz-Strasse + B173/B94 Dr.-Külz-Strasse + B173/B94 Dr.-Külz-Strasse rechts abbiegen auf B173 Friedensstrasse @@ -871,7 +871,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173 - in Schönfels links abbiegen auf Stenner Strasse + in Schönfels links abbiegen auf Stenner Strasse Stenner Strasse Stenner Strasse @@ -881,7 +881,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Zwickauer Strasse (K9351) - D 08115 Schönfels + D 08115 Schönfels K9351\Zwickauer Strasse K9351\Zwickauer Strasse @@ -916,9 +916,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173 Dr.-Friedrichs-Ring - geradeaus weiter auf B173 Glück-Auf-Brücke/Äussere Dresdner Strasse - B173 Glück-Auf-Brücke/Äussere Dresdner Strasse - B173 Glück-Auf-Brücke/Äussere Dresdner Strasse + geradeaus weiter auf B173 Glück-Auf-Brücke/Äussere Dresdner Strasse + B173 Glück-Auf-Brücke/Äussere Dresdner Strasse + B173 Glück-Auf-Brücke/Äussere Dresdner Strasse rechts abbiegen auf Dresdner Strasse @@ -926,9 +926,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Dresdner Strasse - geradeaus weiter auf Äussere Zwickauer Strasse - Äussere Zwickauer Strasse - Äussere Zwickauer Strasse + geradeaus weiter auf Äussere Zwickauer Strasse + Äussere Zwickauer Strasse + Äussere Zwickauer Strasse in Lichtenstein/Sa. geradeaus weiter auf Innere Zwickauer Strasse @@ -1050,12 +1050,12 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B169 Kobaltstrasse - in Hundshübel halb rechts halten auf B169 Hauptstrasse + in Hundshübel halb rechts halten auf B169 Hauptstrasse B169 Hauptstrasse B169 Hauptstrasse - in Stützengrün rechts abbiegen auf B169 Auerbacher Strasse + in Stützengrün rechts abbiegen auf B169 Auerbacher Strasse B169 Auerbacher Strasse B169 Auerbacher Strasse @@ -1076,13 +1076,13 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ bei D 08209 Auerbach - B169\Göltzschtalstrasse - B169\Göltzschtalstrasse + B169\Göltzschtalstrasse + B169\Göltzschtalstrasse - in Auerbach/Vogtl. links abbiegen auf B169 Göltzschtalstrasse - B169 Göltzschtalstrasse - B169 Göltzschtalstrasse + in Auerbach/Vogtl. links abbiegen auf B169 Göltzschtalstrasse + B169 Göltzschtalstrasse + B169 Göltzschtalstrasse in Ellefeld links abbiegen auf Neuberg @@ -1106,8 +1106,8 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ bei D 08209 Auerbach/Beerheide - K7833\Rempesgrüner Strasse - K7833\Rempesgrüner Strasse + K7833\Rempesgrüner Strasse + K7833\Rempesgrüner Strasse in Beerheide links abbiegen auf Strasse des Friedens (K7826) @@ -1115,7 +1115,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Strasse des Friedens (K7826) - in Hohengrün rechts abbiegen auf Klingenthaler Strasse (S300) + in Hohengrün rechts abbiegen auf Klingenthaler Strasse (S300) Klingenthaler Strasse (S300) Klingenthaler Strasse (S300) @@ -1128,17 +1128,17 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Schallerbachstrasse (K7822) - in Brunn rechts abbiegen auf Schönheider Strasse (S278) - Schönheider Strasse (S278) - Schönheider Strasse (S278) + in Brunn rechts abbiegen auf Schönheider Strasse (S278) + Schönheider Strasse (S278) + Schönheider Strasse (S278) - in Schönheide halb rechts halten auf Hauptstrasse (S278) + in Schönheide halb rechts halten auf Hauptstrasse (S278) Hauptstrasse (S278) Hauptstrasse (S278) - D 08304 Schönheide + D 08304 Schönheide S278\Hauptstrasse S278\Hauptstrasse @@ -1163,14 +1163,14 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Am Filz - geradeaus weiter auf B283 Schönheider Strasse - B283 Schönheider Strasse - B283 Schönheider Strasse + geradeaus weiter auf B283 Schönheider Strasse + B283 Schönheider Strasse + B283 Schönheider Strasse - bei D 08262 Tannenbergsthal/Jägersgrün - B283\Schönheider Strasse - B283\Schönheider Strasse + bei D 08262 Tannenbergsthal/Jägersgrün + B283\Schönheider Strasse + B283\Schönheider Strasse bei D 08262 Tannenbergsthal @@ -1193,12 +1193,12 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Falkensteiner Strasse (S304) - bei D 08248 Klingenthal/Brunndöbra + bei D 08248 Klingenthal/Brunndöbra S304\Falkensteiner Strasse S304\Falkensteiner Strasse - bei D 08223 Grünbach-Muldenberg + bei D 08223 Grünbach-Muldenberg S302/S304 S302/S304 @@ -1208,37 +1208,37 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ S304 - bei D 08223 Grünbach + bei D 08223 Grünbach S304\Bahnhofstrasse S304\Bahnhofstrasse - in Grünbach links abbiegen auf Neustädter Strasse (K7835) - Neustädter Strasse (K7835) - Neustädter Strasse (K7835) + in Grünbach links abbiegen auf Neustädter Strasse (K7835) + Neustädter Strasse (K7835) + Neustädter Strasse (K7835) - links abbiegen auf Siehdichfürer Strasse (K7835) - Siehdichfürer Strasse (K7835) - Siehdichfürer Strasse (K7835) + links abbiegen auf Siehdichfürer Strasse (K7835) + Siehdichfürer Strasse (K7835) + Siehdichfürer Strasse (K7835) - in Neudorf links abbiegen auf Schönecker Strasse (S301) - Schönecker Strasse (S301) - Schönecker Strasse (S301) + in Neudorf links abbiegen auf Schönecker Strasse (S301) + Schönecker Strasse (S301) + Schönecker Strasse (S301) - links abbiegen auf Schönecker Strasse (S301) - Schönecker Strasse (S301) - Schönecker Strasse (S301) + links abbiegen auf Schönecker Strasse (S301) + Schönecker Strasse (S301) + Schönecker Strasse (S301) - bei D 08261 Schöneck + bei D 08261 Schöneck S301 S301 - in Schöneck/Vogtl. rechts abbiegen auf Falkensteiner Strasse (S301/S302) + in Schöneck/Vogtl. rechts abbiegen auf Falkensteiner Strasse (S301/S302) Falkensteiner Strasse (S301/S302) Falkensteiner Strasse (S301/S302) @@ -1256,9 +1256,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ einfahren in Kreisverkehr - 2. Möglichkeit aus Kreisverkehr ausfahren auf Kärnerstrasse (S305) - Kärnerstrasse (S305) - Kärnerstrasse (S305) + 2. Möglichkeit aus Kreisverkehr ausfahren auf Kärnerstrasse (S305) + Kärnerstrasse (S305) + Kärnerstrasse (S305) rechts abbiegen auf B283 @@ -1281,9 +1281,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Am Bahnhof - links abbiegen auf Strässler Berg - Strässler Berg - Strässler Berg + links abbiegen auf Strässler Berg + Strässler Berg + Strässler Berg geradeaus weiter auf Siebenbrunner Strasse @@ -1291,24 +1291,24 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Siebenbrunner Strasse - in Strässel links abbiegen auf Böhmische Strasse (K7846) - Böhmische Strasse (K7846) - Böhmische Strasse (K7846) + in Strässel links abbiegen auf Böhmische Strasse (K7846) + Böhmische Strasse (K7846) + Böhmische Strasse (K7846) - in Schönlind rechts abbiegen auf Markneukirchner Strasse (K7843) + in Schönlind rechts abbiegen auf Markneukirchner Strasse (K7843) Markneukirchner Strasse (K7843) Markneukirchner Strasse (K7843) - links abbiegen auf Landwüster Strasse (K7846) - Landwüster Strasse (K7846) - Landwüster Strasse (K7846) + links abbiegen auf Landwüster Strasse (K7846) + Landwüster Strasse (K7846) + Landwüster Strasse (K7846) - in Landwüst halb rechts halten auf Schönlinder Strasse (K7844) - Schönlinder Strasse (K7844) - Schönlinder Strasse (K7844) + in Landwüst halb rechts halten auf Schönlinder Strasse (K7844) + Schönlinder Strasse (K7844) + Schönlinder Strasse (K7844) rechts abbiegen auf Rauner Strasse (K7844) @@ -1316,7 +1316,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Rauner Strasse (K7844) - bei D 08258 Landwüst + bei D 08258 Landwüst K7844\Rauner Strasse K7844\Rauner Strasse @@ -1403,7 +1403,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ links abbiegen - in Bösenbrunn rechts abbiegen auf S310 + in Bösenbrunn rechts abbiegen auf S310 S310 S310 @@ -1413,7 +1413,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ S310 - in Dröda rechts abbiegen auf Hauptstrasse/Bobenneukirchener Strasse (S310) + in Dröda rechts abbiegen auf Hauptstrasse/Bobenneukirchener Strasse (S310) Hauptstrasse/Bobenneukirchener Strasse (S310) Hauptstrasse/Bobenneukirchener Strasse (S310) @@ -1423,7 +1423,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ Bobenneukirchener Strasse (S310) - bei D 08538 Burgstein/Dröda + bei D 08538 Burgstein/Dröda S310\Bobenneukirchener Strasse S310\Bobenneukirchener Strasse @@ -1433,9 +1433,9 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ B173 Hofer Strasse - links abbiegen auf Zur Pirkmühle (K7859) - Zur Pirkmühle (K7859) - Zur Pirkmühle (K7859) + links abbiegen auf Zur Pirkmühle (K7859) + Zur Pirkmühle (K7859) + Zur Pirkmühle (K7859) bei D 08538 Burgstein/Pirk @@ -1479,7 +1479,7 @@ xsi:schemaLocation="http://www.topografix.com/GPX/1/0 http://www.topografix.com/ links abbiegen - in Heinersgrün halb links halten auf An der Kapelle (K7855) + in Heinersgrün halb links halten auf An der Kapelle (K7855) An der Kapelle (K7855) An der Kapelle (K7855) diff --git a/gpsbabel/route.c b/gpsbabel/route.c index e1069f08d..90c5a09f2 100644 --- a/gpsbabel/route.c +++ b/gpsbabel/route.c @@ -204,3 +204,148 @@ route_flush_all() route_flush(&my_track_head); } +void +route_backup(unsigned int *count, queue **head_bak) +{ + queue *elem, *tmp, *elem2, *tmp2; + queue *qbackup; + route_head *rte_new; + unsigned int no; + + no = route_count(); + + qbackup = xcalloc(1, sizeof(*qbackup)); + QUEUE_INIT(qbackup); + + QUEUE_MOVE(qbackup, &my_route_head); + QUEUE_INIT(&my_route_head); + + rte_head_ct = 0; + rte_waypts = 0; + + QUEUE_FOR_EACH(qbackup, elem, tmp) + { + route_head *rte_old = (route_head *)elem; + + rte_new = route_head_alloc(); + if (rte_old->rte_name != NULL) + rte_new->rte_name = xstrdup(rte_old->rte_name); + if (rte_old->rte_desc != NULL) + rte_new->rte_desc = xstrdup(rte_old->rte_desc); + if (rte_old->fs) + rte_new->fs = fs_chain_copy(rte_old->fs); + + route_add_head(rte_new); + rte_new->rte_num = rte_old->rte_num; + + QUEUE_FOR_EACH(&rte_old->waypoint_list, elem2, tmp2) + { + waypoint *wpt = waypt_dupe((waypoint *)elem2); + route_add_wpt(rte_new, wpt); + } + } + *head_bak = qbackup; + *count = no; +} + +static void +route_restore_hdr(const route_head *rte) +{ + rte_head_ct++; +} + +static void +track_restore_hdr(const route_head *trk) +{ + trk_head_ct++; +} + +static void +route_restore_tlr(const route_head *rte) +{ +} + +static void +route_restore_wpt(const waypoint *wpt) +{ + rte_waypts++; +} + +void +common_restore_finish(void) +{ + rte_head_ct = 0; + trk_head_ct = 0; + rte_waypts = 0; + route_disp_all(route_restore_hdr, route_restore_tlr, route_restore_wpt); + track_disp_all(track_restore_hdr, route_restore_tlr, route_restore_wpt); +} + +void +route_restore(unsigned int count, queue *head_bak) +{ + if (head_bak == NULL) return; + + route_flush(&my_route_head); + QUEUE_INIT(&my_route_head); + QUEUE_MOVE(&my_route_head, head_bak); + xfree(head_bak); + + common_restore_finish(); +} + +void +track_backup(unsigned int *count, queue **head_bak) +{ + queue *elem, *tmp, *elem2, *tmp2; + queue *qbackup; + route_head *trk_new; + unsigned int no; + + no = track_count(); + + qbackup = xcalloc(1, sizeof(*qbackup)); + QUEUE_INIT(qbackup); + + QUEUE_MOVE(qbackup, &my_track_head); + QUEUE_INIT(&my_track_head); + + trk_head_ct = 0; + + QUEUE_FOR_EACH(qbackup, elem, tmp) + { + route_head *trk_old = (route_head *)elem; + + trk_new = route_head_alloc(); + if (trk_old->rte_name != NULL) + trk_new->rte_name = xstrdup(trk_old->rte_name); + if (trk_old->rte_desc != NULL) + trk_new->rte_desc = xstrdup(trk_old->rte_desc); + if (trk_old->fs) + trk_new->fs = fs_chain_copy(trk_old->fs); + + track_add_head(trk_new); + trk_new->rte_num = trk_old->rte_num; + + QUEUE_FOR_EACH(&trk_old->waypoint_list, elem2, tmp2) + { + waypoint *wpt = waypt_dupe((waypoint *)elem2); + route_add_wpt(trk_new, wpt); + } + } + *head_bak = qbackup; + *count = no; +} + +void +track_restore(unsigned int count, queue *head_bak) +{ + if (head_bak == NULL) return; + + route_flush(&my_track_head); + QUEUE_INIT(&my_track_head); + QUEUE_MOVE(&my_track_head, head_bak); + xfree(head_bak); + + common_restore_finish(); +} diff --git a/gpsbabel/saroute.c b/gpsbabel/saroute.c index 11dc7f29a..2e4d0e0cd 100644 --- a/gpsbabel/saroute.c +++ b/gpsbabel/saroute.c @@ -278,5 +278,6 @@ ff_vecs_t saroute_vecs = { my_read, NULL, NULL, - saroute_args + saroute_args, + CET_CHARSET_UTF8, 1 /* do nothing | CET-REVIEW */ }; diff --git a/gpsbabel/shape.c b/gpsbabel/shape.c index cd51d232e..4440374df 100644 --- a/gpsbabel/shape.c +++ b/gpsbabel/shape.c @@ -199,5 +199,6 @@ ff_vecs_t shape_vecs = { my_read, my_write, NULL, - NULL + NULL, + CET_CHARSET_ASCII, 0 /* CET-REVIEW */ }; diff --git a/gpsbabel/tef_xml.c b/gpsbabel/tef_xml.c index 85308dbb4..77975d0e0 100644 --- a/gpsbabel/tef_xml.c +++ b/gpsbabel/tef_xml.c @@ -304,5 +304,6 @@ ff_vecs_t tef_xml_vecs = { tef_xml_read, NULL, NULL, - tef_xml_args + tef_xml_args, + CET_CHARSET_UTF8, 1 }; diff --git a/gpsbabel/testo b/gpsbabel/testo index 19832b75f..fe597473d 100755 --- a/gpsbabel/testo +++ b/gpsbabel/testo @@ -36,7 +36,13 @@ sort_and_compare() compare $TMPDIR/s1 $TMPDIR/s2 } - +compare_gpx() +{ + sed -e '1d' $1 > $TMPDIR/comp_gpx1 + sed -e '1d' $2 > $TMPDIR/comp_gpx2 + compare $TMPDIR/comp_gpx1 $TMPDIR/comp_gpx2 +} + # Geocaching .loc rm -f ${TMPDIR}/gl.loc ${PNAME} -i geo -f geocaching.loc -o geo -F ${TMPDIR}/gl.loc @@ -426,11 +432,11 @@ compare ${TMPDIR}/navi.wpt reference/navicache.ref # # CoastalExplorer.. ${PNAME} -r -i coastexp -f reference/coastexp.nob -o gpx -F ${TMPDIR}/coastexp.gpx -compare ${TMPDIR}/coastexp.gpx reference/coastexp.ref +compare_gpx ${TMPDIR}/coastexp.gpx reference/coastexp.ref ${PNAME} -r -i gpx -f ${TMPDIR}/coastexp.gpx -o coastexp -F ${TMPDIR}/coastexp.nob compare ${TMPDIR}/coastexp.nob reference/coastexp.ref2 ${PNAME} -w -i coastexp -f reference/coastexp.nob -o gpx -F ${TMPDIR}/coastexp.gpx -compare ${TMPDIR}/coastexp.gpx reference/coastexp.ref3 +compare_gpx ${TMPDIR}/coastexp.gpx reference/coastexp.ref3 ${PNAME} -w -i gpx -f ${TMPDIR}/coastexp.gpx -o coastexp -F ${TMPDIR}/coastexp.nob compare ${TMPDIR}/coastexp.nob reference/coastexp.ref4 # @@ -569,7 +575,7 @@ sed '/^LXXXGenerated by GPSBabel Version/d' ${TMPDIR}/igc.out > ${TMPDIR}/igc_se compare ${TMPDIR}/igc_sed.out reference/igc1_igc.out ${PNAME} -i igc -f ${TMPDIR}/igc.out -o gpx -F ${TMPDIR}/igc.gpx -compare ${TMPDIR}/igc.gpx reference/igc1_gpx.out +compare_gpx ${TMPDIR}/igc.gpx reference/igc1_gpx.out ${PNAME} -i gpx -f ${TMPDIR}/igc.gpx -o igc -F ${TMPDIR}/igc.out sed '/^LXXXGenerated by GPSBabel Version/d' ${TMPDIR}/igc.out > ${TMPDIR}/igc_sed.out @@ -581,14 +587,14 @@ compare ${TMPDIR}/igc_sed.out reference/igc1_3d.out ${PNAME} -i igc -f reference/igc2.igc -o gpx -F ${TMPDIR}/igc.gpx -compare ${TMPDIR}/igc.gpx reference/igc2_gpx.out +compare_gpx ${TMPDIR}/igc.gpx reference/igc2_gpx.out ${PNAME} -i gpx -f ${TMPDIR}/igc.gpx -o igc -F ${TMPDIR}/igc.out sed '/^LXXXGenerated by GPSBabel Version/d' ${TMPDIR}/igc.out > ${TMPDIR}/igc_sed.out compare ${TMPDIR}/igc_sed.out reference/igc2_igc.out ${PNAME} -i igc -f ${TMPDIR}/igc.out -o gpx -F ${TMPDIR}/igc.gpx -compare ${TMPDIR}/igc.gpx reference/igc2_gpx.out +compare_gpx ${TMPDIR}/igc.gpx reference/igc2_gpx.out # # Google Maps XML test @@ -701,7 +707,7 @@ ${PNAME} -i geo -f geocaching.loc -o text -F ${TMPDIR}/text.out -o html -F ${TMP # rm -f ${TMPDIR}/tef_xml* ${PNAME} -r -i tef -f reference/route/tef_xml.sample.xml -o gpx -F ${TMPDIR}/tef_xml.sample.gpx -compare reference/route/tef_xml.sample.gpx ${TMPDIR}/tef_xml.sample.gpx +compare ${TMPDIR}/tef_xml.sample.gpx reference/route/tef_xml.sample.gpx # # PathAway Palm Database .pdb tests @@ -712,7 +718,7 @@ ${PNAME} -i pathaway -f ${TMPDIR}/pathaway-geo.pdb -o geo -F ${TMPDIR}/pathaway- compare ${TMPDIR}/pathaway-geo.loc reference/pathaway-geo.loc rm -f ${TMPDIR}/pathaway* ${PNAME} -t -i pathaway -f reference/track/pathaway.pdb -o gpx -F ${TMPDIR}/pathaway.gpx -compare ${TMPDIR}/pathaway.gpx reference/track/pathaway.gpx +compare_gpx ${TMPDIR}/pathaway.gpx reference/track/pathaway.gpx # # Garmin GPS Database .gdb tests @@ -726,15 +732,16 @@ ${PNAME} -w -r -t -i gdb -f ${TMPDIR}/gdb-sample.gdb -o gpx -F ${TMPDIR}/gdb-sam # Because of Garmin coordinates storage gpx is not good for this test # compare reference/gdb-sample.gpx ${TMPDIR}/gdb-sample.gpx # +# compare ${TMPDIR}/gdb-sample.gpx reference/gdb-sample.gpx # # Vito Navigator II .smt tests # rm -f ${TMPDIR}/vitosmt* ${PNAME} -i vitosmt -f reference/vitosmt.smt -o gpx -F ${TMPDIR}/vitosmt.gpx -compare ${TMPDIR}/vitosmt.gpx reference/vitosmt.gpx +compare_gpx ${TMPDIR}/vitosmt.gpx reference/vitosmt.gpx ${PNAME} -t -i vitosmt -f reference/vitosmt.smt -o gpx -F ${TMPDIR}/vitosmt_t.gpx -compare ${TMPDIR}/vitosmt_t.gpx reference/track/vitosmt_t.gpx +compare_gpx ${TMPDIR}/vitosmt_t.gpx reference/track/vitosmt_t.gpx # # tracks filter tests @@ -742,21 +749,34 @@ compare ${TMPDIR}/vitosmt_t.gpx reference/track/vitosmt_t.gpx rm -f ${TMPDIR}/trackfilter* -${PNAME} -t -i gpx -f reference/track/trackfilter.gpx -x track,pack,split,title="LOG-%Y%m%d" -o gpx -F ${TMPDIR}/trackfilter-new.gpx -grep -v "